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
-
Alle Wörter mit einem Großbuchstaben beginnen lassen
Mit diesem Makro wird der erste Buchstabe in einer Zelle bereits bei der Eingabe in einen Großbuchstaben umgewandelt. Damit dieses Makro...
-
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...
-
Vornamen und Nachnamen trennen
111014 Mit Hilfe des nachfolgenden Makros wird der Vorname und Nachname im markierten Bereich in zwei Zellen getrennt. ...
-
Laufschrift innerhalb einer Zelle
Mit diesem Code kann innerhalb einer Zelle eine Laufschrift erstellt werden. Die Buchstaben werden der Reihe nach vertauscht, so dass der Effekt...
-
Umwandeln von Umlauten
Das folgende Makro wandelt Umlaute wie z. B. ä in ae um. Fügen Sie dieses Makro einfach in ein Modulblatt ein. Umgewandelt werden alle Zellen mit...