Zeichen in String zählen

Dieser Beitrag zeigt verschiedene Möglichkeiten, um bestimmte Zeichen in einem String zu zählen. So soll beispielsweise im Zelleintrag "Wo steht das geschrieben?" der Buchstabe "e" ermittelt werden.

Beispiel 1:

Public Function AnzahlZeichen(TextZelle As Range, SuchString As String)

Dim lngCnt

With TextZelle.Cells(1, 1)
 AnzahlZeichen = 0
For lngCnt = 1 To Len(.Text)
If Mid(.Text, lngCnt, 1) = SuchString Then _
 AnzahlZeichen = AnzahlZeichen + 1
Next lngCnt
End With

End Function


Erfassen Sie diese Funktion in einem neuen Code-Modul.

Nehmen wir an, der zu prüfende Text befindet sich in Zelle A1, dann können Sie die Zählfunktion mit folgendem Aufruf starten: =ANZAHLZEICHEN(A1;"e")

 

Beispiel 2:

Ein ganz anderer, aber interesanter Ansatz basiert auf dem Einsatz von VB-Script.

Public Function AnzahlZeichen(Zelle, Buchstabe)
 Dim regex As Object
 Set regex = CreateObject("Vbscript.Regexp")
 With regex
 .Pattern = Buchstabe
 .ignorecase = True
 .Global = True
 AnzahlZeichen = .Execute(Zelle.Text).Count
 End With
 End Function

Es handelt sich zwar um einen ganz anderen Ansatz, das Ergebnis ist aber identisch.

Beispiel 3:

Im dritten Beispiel wird mit Funktionen gearbeitet. Dies hat den Vorteil, dass dieser Vergleich relativ schnell sein sollte.

Sub Zählen_i()
 
 Dim strTxt$, strWas$, lngAnz%
 strTxt = "Wo steht das geschrieben?"
 strWas = "e"
 
 '** Genaues Vergleichen
 lngAnz = Len(strTxt) - Len(Replace(strTxt, strWas, ""))
 MsgBox lngAnz
 
 '** Groß- Kleinschreibung nicht relevant
 lngAnz = Len(strTxt) - Len(Replace(UCase(strTxt), UCase(strWas), ""))
 MsgBox lngAnz
 
 End Sub

Relevante Artikel

  • Laufschrift innerhalb einer Zelle

    Mit diesem Code kann innerhalb einer Zelle eine Laufschrift erstellt werden. Die Buchstaben werden der Reihe nach...

  • CSV-Datei mit UniCode Zeichen erzeugen

    Dieser Beitrag zeigt Schritt für Schritt, wie sich eine Unicode-CSV in Excel VBA erzeugen lässt – inklusive chinesischer...

  • Vornamen und Nachnamen trennen

    111014 Mit Hilfe des nachfolgenden Makros wird der Vorname und Nachname im markierten Bereich in zwei Zellen getrennt....

  • Zeichen in String zählen

    Dieser Beitrag zeigt verschiedene Möglichkeiten, um bestimmte Zeichen in einem String zu zählen. So soll beispielsweise im...

  • Umwandeln von Umlauten

    Wer in Excel Umlaute umwandeln möchte, spart mit diesem VBA-Makro viel Zeit: Es ersetzt zuverlässig ä, ö, ü (sowie Ä, Ö, Ü)...

    Wir benutzen Cookies
    Ihre Zufriedenheit ist unser Ziel, deshalb verwenden wir Cookies. Mit diesen ermöglichen wir, dass unsere Webseite zuverlässig und sicher läuft, wir die Performance im Blick behalten und Sie besser ansprechen können. Cookies werden benötigt, damit technisch alles funktioniert und Sie auch externe Inhalte lesen können. Des Weiteren sammeln wir unter anderem Daten über aufgerufene Seiten, getätigte Käufe oder geklickte Buttons, um so unser Angebot an Sie zu Verbessern. Mehr über unsere verwendeten Dienste erfahren Sie unter „Weitere Informationen“. Mit Klick auf „Akzeptieren“ erklären Sie sich mit der Verwendung dieser Dienste einverstanden. Ihre Einwilligung können Sie jederzeit mit Wirkung auf die Zukunft widerrufen oder ändern.