Πίνακας περιεχομένων
Σε αυτό το άρθρο, θα σας δείξω πώς μπορείτε να χωρίσετε μια συμβολοσειρά σε έναν πίνακα στο VBA . Split είναι μία από τις πιο σημαντικές και ευρέως χρησιμοποιούμενες συναρτήσεις που χρησιμοποιούμε στο VBA Θα μάθετε να χωρίζετε μια συμβολοσειρά σε VBA με όλους τους δυνατούς τρόπους.
Συνάρτηση διαχωρισμού VBA (Γρήγορη προβολή)
=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])
Κατεβάστε το βιβλίο ασκήσεων
Διαχωρισμός μιας συμβολοσειράς σε Array.xlsm3 τρόποι διαχωρισμού μιας συμβολοσειράς σε πίνακα στη 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η επιχείρημα του Λειτουργία διαχωρισμού .
⧭ Παράδειγμα:
Ας χωρίσουμε τη συμβολοσειρά στο πρώτο 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 διαχωριστικό, εισάγετε το 4η επιχείρημα ως 1.
Και για ένα case-insensitive διαχωριστικό, εισάγετε το 4η επιχείρημα ως 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 .
- Δηλαδή, αν δεν βάλετε την τιμή του 4η επιχείρημα, θα λειτουργήσει για ένα case-sensitive αγώνα.
Συμπέρασμα
Επομένως, χρησιμοποιώντας αυτές τις μεθόδους, μπορείτε να χρησιμοποιήσετε το Λειτουργία διαχωρισμού του VBA για να χωρίσετε μια συμβολοσειρά σε έναν πίνακα στοιχείων. Έχετε οποιεσδήποτε ερωτήσεις; Μη διστάσετε να μας ρωτήσετε.