VBA – Die Len-Funktion – Länge der Zeichenkette ermitteln

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Zakarya El Oirzadi

Last updated on Dezember 18, 2022

In diesem Tutorial zeigen wir Ihnen, wie Sie die VBA-Funktion Len verwenden, um die Länge einer Zeichenkette ermitteln zu können.

Die Len-Funktion

Die VBA-Funktion Len gibt die Länge einer angegebenen Zeichenkette zurück.

VBA-Len – Zeichen zählen

Die VBA-Funktion Len zählt die Zeichen in einer Zeichenkette.

Sub LenBeispiel_1()

MsgBox Len("12345") 'Das Ergebnis ist: 5

MsgBox Len("12") 'Das Ergebnis ist: 2

MsgBox Len("1") 'Das Ergebnis ist: 1

MsgBox Len(" ") 'Das Ergebnis ist: 1

'Da ist ein Leerzeichen drin.

MsgBox Len("") 'Das Ergebnis ist: 0

MsgBox Len("AB Cd") 'Das Ergebnis ist: 5

End Sub

VBA-Len – Strings oder Variants

Die VBA-Funktion Len kann die Zeichen in Variablen zählen, die als Stings oder Variants deklariert sind. Eigentlich behandelt VBA-Len ein Variant wie eine Zeichenkette. Wenn VBA-Len mit einem Integer, Long, Single oder Double verwendet wird, zählt sie die Bytes, die zum Speichern der Variablen benötigt werden.

Sub LenBeispiel_2()

Dim VarBeisp1 As String
VarBeisp = 12345
MsgBox Len(VarBeisp) 'Das Ergebnis ist: 5
'Len zählt die Zeichen in der Variablen

Dim VarBeisp2 As Variant
VarBeisp2 = 12345
MsgBox Len(VarBeisp2) 'Das Ergebnis ist: 5
'Len zählt die Zeichen in der Variablen

Dim VarBeisp3 As Integer
VarBeisp3 = 12345
MsgBox Len(VarBeisp3) 'Das Ergebnis ist: 2
'Len zählt die Bytes, die zum Speichern der Variablen verwendet werden

Dim VarBeisp4 As Long
VarBeisp4 = 12345
MsgBox Len(VarBeisp4) 'Das Ergebnis ist: 4
'Len zählt die Bytes, die zum Speichern der Variablen verwendet werden

Dim VarBeisp5 As Single
VarBeisp5 = 12345
MsgBox Len(VarBeisp5) 'Ergebnis ist: 4
'Len zählt die Bytes, die zum Speichern der Variablen verwendet werden

Dim VarBeisp6 As Double
VarBeisp6 = 12345
MsgBox Len(VarBeisp6) 'Ergebnis ist: 8
'Len zählt die Anzahl der Bytes, die zum Speichern der Variablen verwendet werden

End Sub

VBA-Len – Die Vorkommen eines Zeichens zählen

Die VBA-Funktion Len kann mit der Replace-Funktion verwendet werden, um zu zählen, wie oft ein Zeichen in einer Zeichenkette vorkommt. Die VBA-Funktion Replace kann eine Teilzeichenkette in einem Text durch eine andere ersetzen:

MsgBox Replace("XBCX", "X", "7") 'Das Ergebnis ist: "7BC7"

Wir können Replace verwenden, um die zu zählenden Zeichen durch „“ zu ersetzen und dann die Differenz in der Länge vor und nach der Ersetzung zu ermitteln.

Sub LenBeispiel_3()

Dim StrBeisp As String 'Eine String-Variable definieren
StrBeisp = "Jack,John,Jim,Jordan"

MsgBox Len(StrBeisp) - Len(Replace(StrBeisp, ",", "")) 'Das Ergebnis ist: 3

'Aufschlüsselung des obigen Codes
MsgBox Len(StrBeisp) 'Das Ergebnis ist: 20
MsgBox Replace(StrBeisp, ",", "") 'Das Ergebnis ist: "JackJohnJimJordan"
MsgBox Len(Replace(StrBeisp, ",", "")) 'Das Ergebnis ist: 17

MsgBox Len(StrBeisp) - Len(Replace(StrBeisp, ",", "")) 'Das Ergebnis ist: 20-17=3
End Sub

VBA-Len – Die Vorkommen einer Teilzeichenkette zählen

Die VBA-Funktion Len kann mit der Replace-Funktion verwendet werden, um zu zählen, wie oft eine Teilzeichenkette in einer Zeichenkette vorkommt. Die VBA-Funktion Replace kann eine Teilzeichenkette durch eine andere in einem Text ersetzen:

MsgBox Replace("XB cX", "X", "7") 'Das Ergebnis ist: "7B c7"

Wir können Replace verwenden, um die Teilzeichenketten, die wir zählen wollen, mit „“ zu entfernen und dann die Differenz in der Länge vor und nach der Ersetzung zu ermitteln. Schließlich müssen wir die Differenz durch die Länge der ersetzten Teilzeichenkette teilen.

Sub LenBeispiel_4()
Dim StrBeisp As String 'Eine String-Variable definieren
StrBeisp = "Jack, John, Jim, Jordan"

Dim SubBeisp As String 'Eine Teilzeichenkettenvariable (String) definieren
SubStr = ", "
'Wir wollen herausfinden, wie oft SubStr innerhalb von StrBeisp vorkommt

MsgBox (Len(StrBeisp) - Len(Replace(StrBeisp, SubStr, ""))) / Len(SubStr) 'Das Ergebnis ist: 3

'Den obigen Code aufschlüsseln
MsgBox Len(StrBeisp) 'Das Ergebnis ist: 23
MsgBox Replace(StrBeisp, SubStr, "") 'Das Ergebnis ist: "JackJohnJimJordan"
MsgBox Len(Replace(StrBeisp, SubStr, "")) 'Das Ergebnis ist: 17

MsgBox Len(StrBeisp) - Len(Replace(StrBeisp, SubStr, "")) 'Das Ergebnis ist: 23-17=6
MsgBox ((Len(StrBeisp) - Len(Replace(StrBeisp, SubStr, ""))) / Len(SubStr))
'Das Ergebnis ist: (23-17)/2=3
End Sub
vba-free-addin

Add-In für VBA-Code-Beispiele

Auf alle Code-Beispiele aus unserer Website einfach zugreifen.

Navigieren Sie einfach zum Menü, klicken Sie darauf und der Code wird direkt in Ihr Modul eingefügt. .xlam add-in.

(Keine Installation erforderlich!)

Kostenloser Download

Return to VBA Code Examples