Πώς να διαχωρίσετε μια συμβολοσειρά σε μια συστοιχία στην VBA (3 τρόποι)

  • Μοιραστείτε Αυτό
Hugh West

Σε αυτό το άρθρο, θα σας δείξω πώς μπορείτε να χωρίσετε μια συμβολοσειρά σε έναν πίνακα στο VBA . Split είναι μία από τις πιο σημαντικές και ευρέως χρησιμοποιούμενες συναρτήσεις που χρησιμοποιούμε στο VBA Θα μάθετε να χωρίζετε μια συμβολοσειρά σε VBA με όλους τους δυνατούς τρόπους.

Συνάρτηση διαχωρισμού VBA (Γρήγορη προβολή)

=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])

Κατεβάστε το βιβλίο ασκήσεων

Διαχωρισμός μιας συμβολοσειράς σε Array.xlsm

3 τρόποι διαχωρισμού μιας συμβολοσειράς σε πίνακα στη VBA

Ας κρατήσουμε μια χορδή στο χέρι μας "Κάναμε αίτηση για τη βίζα των ΗΠΑ, του Καναδά, της Αυστραλίας και της Γαλλίας". .

Θα σας δείξω πώς μπορείτε να χωρίσετε αυτό το αλφαριθμητικό σε έναν πίνακα με όλους τους δυνατούς τρόπους χρησιμοποιώντας την εντολή Λειτουργία διαχωρισμού του VBA .

1. Χρήση οποιουδήποτε διαχωριστικού για να χωρίσετε μια συμβολοσειρά σε συστοιχία στη VBA

Μπορείτε να χρησιμοποιήσετε οποιαδήποτε συμβολοσειρά ως διαχωριστικό για να χωρίσετε μια συμβολοσειρά σε έναν πίνακα στο VBA .

Μπορεί να είναι κενό (" ") , a κόμμα (",") , a άνω τελεία (":") , έναν μεμονωμένο χαρακτήρα, μια σειρά χαρακτήρων ή οτιδήποτε άλλο.

Παράδειγμα 1:

Ας χωρίσουμε τη συμβολοσειρά χρησιμοποιώντας το κόμμα ως διαχωριστικό.

Η γραμμή του κώδικα θα είναι:

Arr = Split(Text, ",")

Η πλήρης Κώδικας VBA θα είναι:

Κωδικός VBA:

 Sub Split_String() Text = "Κάναμε αίτηση για τη βίζα των ΗΠΑ, του Καναδά, της Αυστραλίας και της Γαλλίας." Arr = Split(Text, ",") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Έξοδος:

Θα χωρίσει τη συμβολοσειρά σε έναν πίνακα που αποτελείται από {"Κάναμε αίτηση για τη βίζα των ΗΠΑ", "Καναδάς", "Αυστραλία", "Γαλλία"}.

Παράδειγμα 2:

Μπορείτε επίσης να χρησιμοποιήσετε ένα κενό (" ") ως διαχωριστικό.

Η γραμμή του κώδικα θα είναι:

Arr = Split(Text, " ")

Η πλήρης Κώδικας VBA θα είναι:

Κωδικός VBA:

 Sub Split_String() Text = "Κάναμε αίτηση για τη βίζα των ΗΠΑ, του Καναδά, της Αυστραλίας και της Γαλλίας." Arr = Split(Text, " ") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Έξοδος:

Θα χωρίσει τη συμβολοσειρά σε έναν πίνακα που αποτελείται από {"Εμείς", "εφαρμόζεται", "για", "η", "θεώρηση", "του", "ΗΠΑ,", "Καναδάς,", "Αυστραλία,", "Γαλλία,"}.

Πράγματα που πρέπει να θυμάστε:

  • Ο προεπιλεγμένος διαχωριστής είναι ένα κενό (" ") .
  • Δηλαδή, αν δεν εισάγετε κάποιο διαχωριστικό, θα χρησιμοποιήσει ένα χώρος ως διαχωριστικό.

Διαβάστε περισσότερα: Διαχωρισμός συμβολοσειράς ανά χαρακτήρα στο Excel (6 κατάλληλοι τρόποι)

Παρόμοιες αναγνώσεις:

  • Διαχωρισμός κειμένου σε πολλαπλά κελιά στο Excel
  • VBA για να λάβετε μοναδικές τιμές από τη στήλη σε συστοιχία στο Excel (3 κριτήρια)
  • Excel VBA: Πώς να φιλτράρετε με πολλαπλά κριτήρια σε συστοιχία (7 τρόποι)

2. Διαχωρίστε μια συμβολοσειρά σε μια συστοιχία με οποιονδήποτε αριθμό στοιχείων

Μπορείτε να χωρίσετε μια συμβολοσειρά σε έναν πίνακα με οποιονδήποτε αριθμό στοιχείων ανάλογα με την επιθυμία σας.

Εισάγετε τον αριθμό των στοιχείων ως επιχείρημα του Λειτουργία διαχωρισμού .

Παράδειγμα:

Ας χωρίσουμε τη συμβολοσειρά στο πρώτο 3 αντικείμενα με ένα χώρος ως διαχωριστικό.

Η γραμμή του κώδικα θα είναι:

Arr = Split(Text, " ", 3)

Και το Κώδικας VBA θα είναι:

Κωδικός VBA:

 Sub Split_String() Text = "Κάναμε αίτηση για τη βίζα των ΗΠΑ, του Καναδά, της Αυστραλίας και της Γαλλίας." Arr = Split(Text, " ", 3) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Έξοδος:

Θα χωρίσει το αλφαριθμητικό σε έναν πίνακα που αποτελείται από το πρώτο 3 στοιχεία διαχωρισμένα με το διαχωριστικό χώρος .

Πράγματα που πρέπει να θυμάστε:

  • Το προεπιλεγμένο όρισμα είναι -1 .
  • Αυτό σημαίνει ότι, αν δεν εισαγάγετε το όρισμα, θα χωρίσει τη συμβολοσειρά στον μέγιστο δυνατό αριθμό φορών.

Διαβάστε περισσότερα: Πώς να χωρίσετε συμβολοσειρά κατά μήκος στο Excel (8 τρόποι)

3. Χρήση διαχωριστικού τόσο με ευαισθησία στη πεζότητα όσο και χωρίς ευαισθησία για να χωρίσετε μια συμβολοσειρά σε μια συστοιχία στη VBA

Το Λειτουργία διαχωρισμού σας προσφέρει τη δυνατότητα να χρησιμοποιήσετε τόσο ένα case-sensitive και case-insensitive διαχωριστικό.

Για ένα case-insensitive διαχωριστικό, εισάγετε το επιχείρημα ως 1.

Και για ένα case-insensitive διαχωριστικό, εισάγετε το επιχείρημα ως 0 .

Παράδειγμα 1: Διαχωριστής χωρίς ευαισθησία στην πεζότητα

Στη δεδομένη συμβολοσειρά, ας εξετάσουμε το κείμενο "ΓΙΑ" ως διαχωριστικό και 2 ως ο συνολικός αριθμός των στοιχείων του πίνακα.

Τώρα, για ένα case-insensitive περίπτωση, η γραμμή κώδικα θα είναι:

Arr = Split(Text, "FOR ", 3,1)

Και το πλήρες Κώδικας VBA θα είναι:

Κωδικός VBA:

 Sub Split_String() Text = "Κάναμε αίτηση για τη βίζα των ΗΠΑ, του Καναδά, της Αυστραλίας και της Γαλλίας." Arr = Split(Text, "FOR", 2, 1) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Έξοδος:

Καθώς ο διαχωριστής είναι case-insensitive εδώ, το "ΓΙΑ" θα λειτουργήσει ως "για" και θα χωρίσει τη συμβολοσειρά σε έναν πίνακα δύο στοιχείων.

Παράδειγμα 2: Διαχωριστικό με ευαισθησία στην πεζότητα

Και πάλι, για ένα case-sensitive περίπτωση, η γραμμή κώδικα θα είναι:

Arr = Split(Text, "FOR ", 3,0)

Και το πλήρες Κώδικας VBA θα είναι:

Κωδικός VBA:

 Sub Split_String() Text = "Κάναμε αίτηση για τη βίζα των ΗΠΑ, του Καναδά, της Αυστραλίας και της Γαλλίας." Arr = Split(Text, "FOR", 2, 0) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Έξοδος:

Καθώς ο διαχωριστής είναι case-sensitive εδώ, το "ΓΙΑ" δεν θα είναι τόσο "για" και δεν θα χωρίσει τη συμβολοσειρά σε έναν πίνακα δύο στοιχείων.

Διαβάστε περισσότερα: Excel VBA: Αφαίρεση αντιγράφων από μια συστοιχία (2 παραδείγματα)

Πράγματα που πρέπει να θυμάστε:

  • Η προεπιλεγμένη τιμή του ορίσματος είναι 0 .
  • Δηλαδή, αν δεν βάλετε την τιμή του επιχείρημα, θα λειτουργήσει για ένα case-sensitive αγώνα.

Συμπέρασμα

Επομένως, χρησιμοποιώντας αυτές τις μεθόδους, μπορείτε να χρησιμοποιήσετε το Λειτουργία διαχωρισμού του VBA για να χωρίσετε μια συμβολοσειρά σε έναν πίνακα στοιχείων. Έχετε οποιεσδήποτε ερωτήσεις; Μη διστάσετε να μας ρωτήσετε.

Ο Hugh West είναι ένας εξαιρετικά έμπειρος εκπαιδευτής και αναλυτής του Excel με πάνω από 10 χρόνια εμπειρίας στον κλάδο. Είναι κάτοχος πτυχίου Λογιστικής και Χρηματοοικονομικής και μεταπτυχιακού στη Διοίκηση Επιχειρήσεων. Ο Hugh έχει πάθος για τη διδασκαλία και έχει αναπτύξει μια μοναδική προσέγγιση διδασκαλίας που είναι εύκολο να ακολουθηθεί και να κατανοηθεί. Οι εξειδικευμένες γνώσεις του στο Excel έχουν βοηθήσει χιλιάδες φοιτητές και επαγγελματίες παγκοσμίως να βελτιώσουν τις δεξιότητές τους και να διαπρέψουν στην καριέρα τους. Μέσω του ιστολογίου του, ο Hugh μοιράζεται τις γνώσεις του με τον κόσμο, προσφέροντας δωρεάν μαθήματα Excel και διαδικτυακή εκπαίδευση για να βοηθήσει άτομα και επιχειρήσεις να αξιοποιήσουν πλήρως τις δυνατότητές τους.