In diesem Tutorial wird gezeigt, wie Sie die Len-VBA-Funktion verwenden, um die Länge einer Zeichenfolge abzurufen.
Linsenfunktion
Die VBA Len-Funktion gibt die Länge einer angegebenen Zeichenfolge zurück.
VBA Len Count Zeichen
Die VBA-Len-Funktion zählt die Zeichen in einer Zeichenfolge.
1234567891011121314151617 | Sub LenExample_1()MsgBox Len("12345") 'Ergebnis: 5MsgBox Len("12") 'Ergebnis: 2MsgBox Len("1") 'Ergebnis ist: 1MsgBox Len(" ") 'Ergebnis ist: 1»Da drin ist ein Leerzeichen.MsgBox Len("") 'Ergebnis ist: 0MsgBox Len("AB Cd") 'Ergebnis: 5End Sub |
VBA Len Strings oder Varianten
Die VBA-Len-Funktion kann die Anzahl der Zeichen in Variablen zählen, die als Strings oder Varianten deklariert sind. Tatsächlich behandelt VBA Len eine Variante als String. Wenn VBA Len mit einer Ganzzahl, Long, Single oder Double verwendet wird, zählt VBA Len die Anzahl der Bytes, die zum Speichern der Variablen erforderlich sind.
123456789101112131415161718192021222324252627282930313233 | Sub LenExample_2()Dim VarEx1 als StringVarEx1 = 12345MsgBox Len(VarEx1) 'Ergebnis ist: 5'Len zählt die Anzahl der Zeichen in der VariablenDim VarEx2 als VarianteVarEx2 = 12345MsgBox Len(VarEx2) 'Ergebnis: 5'Len zählt die Anzahl der Zeichen in der VariablenDim VarEx3 As IntegerVarEx3 = 12345MsgBox Len(VarEx3) 'Ergebnis ist: 2'Len zählt die Anzahl der Bytes, die zum Speichern der Variablen verwendet werdenDim VarEx4 As LongVarEx4 = 12345MsgBox Len(VarEx4) 'Ergebnis: 2'Len zählt die Anzahl der Bytes, die zum Speichern der Variablen verwendet werdenDim VarEx5 als SingleVarEx5 = 12345MsgBox Len(VarEx5) 'Ergebnis: 2'Len zählt die Anzahl der Bytes, die zum Speichern der Variablen verwendet werdenDim VarEx6 als DoubleVarEx6 = 12345MsgBox Len(VarEx6) 'Ergebnis: 2'Len zählt die Anzahl der Bytes, die zum Speichern der Variablen verwendet werdenEnd Sub |
VBA Len Count Vorkommen eines Charakters
Die VBA-Len-Funktion kann mit der VBA-Replace-Funktion verwendet werden, um zu zählen, wie oft ein Zeichen in einer Zeichenfolge gefunden wird.
Die VBA-Ersetzungsfunktion kann eine Teilzeichenfolge durch eine andere Teilzeichenfolge in einem Text ersetzen:
1 | MsgBox Replace("XBCX", "X", "7") 'Ergebnis ist: "7BC7" |
Wir können Ersetzen verwenden, um die Zeichen, die wir mit „“ zählen möchten, zu entfernen und dann den Längenunterschied vor und nach der Ersetzung zu ermitteln.
1234567891011121314 | Sub LenExample_3()Dim StrEx As String 'String-Variable definierenStrEx = "Jack,John,Jim,Jordan"MsgBox Len(StrEx) - Len(Replace(StrEx, ",", "")) 'Ergebnis: 3'Den obigen Code aufschlüsselnMsgBox Len(StrEx) 'Ergebnis ist: 20MsgBox Replace(StrEx, ",", "") 'Ergebnis ist: "JackJohnJimJordan"MsgBox Len(Replace(StrEx, ",", "")) 'Ergebnis ist: 17MsgBox Len(StrEx) - Len(Replace(StrEx, ",", "")) 'Ergebnis: 20-17=3End Sub |
VBA Len Count Vorkommen einer Teilzeichenfolge
Die VBA-Len-Funktion kann mit der VBA-Replace-Funktion verwendet werden, um zu zählen, wie oft eine Teilzeichenfolge in einer Zeichenfolge gefunden wird.
Die VBA-Ersetzungsfunktion kann eine Teilzeichenfolge durch eine andere Teilzeichenfolge in einem Text ersetzen:
1 | MsgBox Replace("XB cX", "X", "7") 'Ergebnis ist: "7B c7" |
Wir können Ersetzen verwenden, um die Teilzeichenfolgen, die wir mit „“ zählen möchten, zu entfernen und dann den Längenunterschied vor und nach der Ersetzung zu ermitteln. Schließlich müssen wir die Differenz durch die Länge der ersetzten Teilzeichenfolge dividieren.
12345678910111213141516171819 | Sub LenExample_4()Dim StrEx As String 'String-Variable definierenStrEx = "Jack, John, Jim, Jordan"Dim SubStr As String 'Eine Teilstringvariable definierenSubStr = ", "'Wir werden herausfinden, wie oft SubStr in StrEx gefunden wirdMsgBox (Len(StrEx) - Len(Replace(StrEx, SubStr, ""))) / Len(SubStr) 'Ergebnis ist: 3'Den obigen Code aufschlüsselnMsgBox Len(StrEx) 'Ergebnis: 23MsgBox Replace(StrEx, SubStr, "") 'Ergebnis ist: "JackJohnJimJordan"MsgBox Len(Replace(StrEx, SubStr, "")) 'Ergebnis: 17MsgBox Len(StrEx) - Len(Replace(StrEx, SubStr, "")) 'Ergebnis ist: 23-17=6MsgBox (Len(StrEx) - Len(Ersetzen(StrEx, SubStr, ""))) / Len(SubStr)'Ergebnis ist: (23-17)/2=3End Sub |