Die 12 wichtigsten VBA-Text-Funktionen
Mehrere Fundstellen in einer Zeichenkette
Mehrere Fundstellen in einer Zeichenkette
Auf dieser Seite
Mit Bild
Mit der InStr()-Funktion können Sie nicht nur das erste Auftreten einer gesuchten Textstelle ermitteln, sondern auch folgende.
Mit Bild
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.
Mit Bild
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.
Mit Bild
Beginnen Sie also nach der Position des ersten Leerzeichens zu suchen, findet InStr() das zweite, wie der folgende Code zeigt:
Mit Bild
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
Mit Bild
Beachten Sie bitte das Leerzeichen und den Unterstrich am Ende der einen Zeile, die dem Compiler signalisieren, dass die folgende Zeile noch dazugehört.