Tipp 8.8 - Zeichen ermitteln
Wie kann ich das Vorkommen eines oder mehrerer Zeichen in einem String ermitteln?
Mit dieser Funktion können Sie das Vorkommen eines oder mehrerer Zeichen in einem String ermitteln. Kopieren Sie einfach nachfolgenden Quellcode in die Zwischenablage und fügen Sie anschließend den Inhalt der Zwischenablage in ein neues Modul ein. Die Aufrufparameter finden Sie im Quellcode beschrieben.
Beispiel:
Option Explicit Public Function CountEqualWords(sText As String, _ sFind As String, _ Optional lMethod _ As Long = vbTextCompare) _ As Long '// ----------------------------------------------------- '// Methode: | Vorkommen eines oder mehrerer Zeichen '// | in einem String ermitteln '// ----------------------------------------------------- '// Parameter:| sText - zu durchsuchender Text '// | sFind - Suchkriterium '// | lMethod - Vergleichsmethode '// ----------------------------------------------------- '// Rückgabe: | Anzahl Treffer '// ----------------------------------------------------- '// Autor: | Stefan Kulpa '// | EDV Innovation & Consulting - Dormagen '// ----------------------------------------------------- '// Beispiel: |?CountEqualWords("Hallo Welt!", "l") = 3 '// |?CountEqualWords("Hallo Welt!", "ll") = 1 '// |?CountEqualWords("Hallo Welt!", "HALLO", _ '// | vbBinaryCompare) = 0 '// |?CountEqualWords("Hallo Welt!", "HALLO", _ '// | vbTextCompare) = 1 '// ----------------------------------------------------- Dim lPos As Long Dim lTemp As Long Dim lCount As Long lPos = 1 On Error GoTo Err_CountEqualWords If lMethod <> vbTextCompare And _ lMethod <> vbBinaryCompare Then _ lMethod = vbTextCompare Do lPos = InStr(lPos, sText, sFind, lMethod) lTemp = lPos If lPos > 0 Then lCount = lCount + 1 lPos = lPos + Len(sFind) End If Loop Until lPos = 0 CountEqualWords = lCount Err_CountEqualWords: Exit Function End Function