Μπορείτε να εκτελέσετε λογική ή να επιστρέψετε μεμονωμένους χαρακτήρες από μια συμβολοσειρά στο VBA κάνοντας βρόχο στη συμβολοσειρά.
Βρόχος μέσα από κάθε χαρακτήρα σε μια συμβολοσειρά
Το ακόλουθο είναι ένα παράδειγμα περιήγησης σε μια συμβολοσειρά χρησιμοποιώντας ένα For … Next Loop και την επιστροφή κάθε χαρακτήρα σε ένα msgbox.
1234567891011121314 | Sub LoopThroughString ()Dim Counter ως ακέραιοςDim MyString As StringMyString = "AutomateExcel" 'καθορίζει συμβολοσειράΓια μετρητή = 1 προς Len (MyString)«κάντε κάτι σε κάθε χαρακτήρα σε συμβολοσειρά'εδώ θα στείλουμε με μήνυμα κάθε χαρακτήραMsgBox Mid (MyString, Counter, 1)ΕπόμενοΤέλος υπο |
Η συνάρτηση Len μετρά τον συνολικό αριθμό χαρακτήρων στη συμβολοσειρά. Η έκφραση λοιπόν
1 | Για μετρητή = 1 προς Len (MyString |
θα κάνει βρόχο σε κάθε γράμμα της συμβολοσειράς.
Βρόχος μέσα από κάθε χαρακτήρα σε μια συμβολοσειρά - εναλλακτική λύση
Διαβάστε κάθε χαρακτήρα σε μια συμβολοσειρά
: Αυτό το παράδειγμα διαβάζει κάθε χαρακτήρα σε μια συμβολοσειρά από αριστερά προς τα δεξιά και επιστρέφει το αποτέλεσμα σε ένα πλαίσιο μηνυμάτων. Χρησιμοποιεί το Στα μέσα λειτουργία.
12345678910111213 | Sub LoopThroughString ()Dim LookInHere As StringDim Counter ως ακέραιος«Χρησιμοποιήστε το δικό σας κείμενο εδώLookInHere = "easyexcel.net"Για μετρητή = 1 προς Len (LookInHere)MsgBox Mid (LookInHere, Counter, 1)ΕπόμενοΤέλος υπο |
Διαβάστε κάθε λέξη σε μια συμβολοσειρά
Αυτό το παράδειγμα διαβάζει κάθε λέξη σε μια συμβολοσειρά από αριστερά προς τα δεξιά και επιστρέφει το αποτέλεσμα σε ένα πλαίσιο μηνυμάτων. Χρησιμοποιεί το Διαίρεση λειτουργία.
1234567891011121314151617 | Sub LoopThroughString2 ()Dim LookInHere As StringDim Count ως ακέραιοςDim SplitCatcher As Variant«Χρησιμοποιήστε το δικό σας κείμενο εδώLookInHere = "I Heart easyexcel.net"SplitCatcher = Διαχωρισμός (LookInHere, "")Για Counter = 0 To UBound (SplitCatcher)MsgBox SplitCatcher (μετρητής)ΕπόμενοΤέλος υπο |