Sie können in VBA eine Logik ausführen oder einzelne Zeichen aus einer Zeichenfolge zurückgeben, indem Sie die Zeichenfolge durchlaufen.
Durchlaufen Sie jedes Zeichen in einer Zeichenfolge
Im Folgenden sehen Sie ein Beispiel für das Durchlaufen einer Zeichenfolge mit einer For… Next-Schleife und die Rückgabe jedes Zeichens in einer Msgbox.
1234567891011121314 | Sub LoopThroughString()Zähler als ganze Zahl dimmenDim MyString als StringMyString = "AutomateExcel" 'String definierenFür Zähler = 1 zu Len(MyString)'mache etwas mit jedem Zeichen in der Zeichenfolge'hier werden wir jedes Zeichen mit einer Nachricht versehenMsgBox Mid(MyString, Zähler, 1)NächsteEnd Sub |
Die Len-Funktion zählt die Gesamtzahl der Zeichen in der Zeichenfolge. Also der Ausdruck
1 | Für Zähler = 1 zu Len(MyString |
wird jeden Buchstaben in der Zeichenfolge durchlaufen.
Durchlaufen jedes Zeichens in einer Zeichenfolge - Alternative
Lesen Sie jedes Zeichen in einer Zeichenfolge
: Dieses Beispiel liest jedes Zeichen in einer Zeichenfolge von links nach rechts und gibt das Ergebnis in einer Meldungsbox zurück. Es nutzt die Mitte Funktion.
12345678910111213 | Sub LoopThroughString()Dim LookInHere als StringZähler als ganze Zahl dimmen'Verwenden Sie hier Ihren eigenen TextLookInHere = "easyexcel.net"Für Zähler = 1 zu Len(LookInHere)MsgBox Mid(LookInHere, Counter, 1)NächsteEnd Sub |
Lesen Sie jedes Wort in einer Zeichenfolge
In diesem Beispiel wird jedes Wort in einer Zeichenfolge von links nach rechts gelesen und das Ergebnis in einem Meldungsfeld zurückgegeben. Es nutzt die Teilt Funktion.
1234567891011121314151617 | Sub LoopThroughString2()Dim LookInHere als StringZähler als Integer dimmenDim SplitCatcher als Variante'Verwenden Sie hier Ihren eigenen TextLookInHere = "I Heart easyexcel.net"SplitCatcher = Split(LookInHere, "")Für Zähler = 0 bis UBound(SplitCatcher)MsgBox SplitCatcher(Zähler)NächsteEnd Sub |