Die 12 wichtigsten VBA-Text-Funktionen

Von: Lorenz Hölscher
Stand: 7. Februar 2008
5
(2)
Beitrag bewerten
Anmelden um Kommentare zu schreiben

Mehrere Fundstellen in einer Zeichenkette

Mit der InStr()-Funktion können Sie nicht nur das erste Auftreten einer gesuchten Textstelle ermitteln, sondern auch folgende.

Damit sind wir beim zweiten Vornamen und damit der nächsten Herausforderung. Er beginnt beim ersten Leerzeichen, welches wir ja schon gefunden haben. Aber er endet beim zweiten Leerzeichen, welches mit bisheriger Technik nicht zu finden ist.

Aber auch das zweite Leerzeichen lässt sich mit InStr() finden! Die InStr()-Funktion hat einen optionalen Parameter (interessanterweise vor den übrigen, was bei keiner anderen Funktion so ist), der angibt, ab welcher Position die Suche beginnen soll.

Beginnen Sie also nach der Position des ersten Leerzeichens zu suchen, findet InStr() das zweite, wie der folgende Code zeigt:

Sub ZweitenVornamenBesserFinden()
    Dim strZweiterVorname As String
    Dim intLeerPos1 As Integer
    Dim intLeerPos2 As Integer
    
    intLeerPos1 = InStr(m_cstrName & " ", " ")
    intLeerPos2 = InStr(intLeerPos1 + 1, m_cstrName & " ", " ")
    strZweiterVorname = Mid(m_cstrName, intLeerPos1 + 1, _
        intLeerPos2 - intLeerPos1 - 1)
    MsgBox "Zweiter Vorname: " & strZweiterVorname
End Sub

Beachten Sie bitte das Leerzeichen und den Unterstrich am Ende der einen Zeile, die dem Compiler signalisieren, dass die folgende Zeile noch dazugehört.

Dies ist eine Leseprobe

Möchten Sie den Beitrag komplett lesen? Dann werden Sie Probemitglied und testen Sie akademie.de 14 Tage kostenlos!

Auf VBA: Die 12 wichtigsten Text-Funktionen erfahren Sie mehr über diesen Beitrag und die weiteren Leseproben.

Weitere Informationen finden Sie auf unserer Infoseite zur Mitgliedschaft und in unseren AGB.

Ich bin bereits Mitglied
Jetzt Probemitglied werden
Ich kann in den 14 Tagen Probezeit formlos z.B. per E-Mail stornieren. Wenn ich das nicht tue, entscheide ich mich für ein