Straßenname und Hausnummer trennen (per Makro)

Straßenname und Hausnummer trennen (per Makro). Trim, Left, Right
Sub TrenneStrasseNummer()   A B C
Dim Zellwert$, Zelle As Range, Zeile% 1 Straße / Haus-Nr. Straße Haus-Nr.
2 Berliner Str. 15 Berliner Str. 15
For Each Zelle In ActiveSheet.Range("A2:A6") 3 Hans Maurer Straße 11b Hans Maurer Straße 11b
Zeile = Zeile + 1 4 Straße des 17. Juni 23 Straße des 17. Juni 23
Zellwert = ActiveSheet.Range("A" & Zeile + 1).Value 5 Straße des 17. Juni 24 a Straße des 17. Juni 24 a
6 3. Nebenstraße 3. Nebenstraße  
ActiveSheet.Range("B" & Zeile + 1).Value = StrName(Zellwert)
ActiveSheet.Range("C" & Zeile + 1).Value = HsNr(Zellwert)
Fehler: Namen wie "Straße des 17. Juni 23" werden nicht korrekt
Next getrennt.
End Sub
Function StrName(Strasse As String) As String Funktion: Straßennamen extrahieren
Dim pos As Integer
Dim Laenge As Integer
pos = PosHsNrInStrasse(Strasse)
Laenge = Len(Strasse)
If pos > 0 Then
StrName = Trim(Left(Strasse, pos - 1)) Trim: führende und nachgestellte Leerzeichen entfernen.
Else
StrName = Strasse
End If
End Function
Function HsNr(Strasse As String) As String Funktion: Hausnummer extrahieren
Dim pos As Integer
Dim Laenge As Integer
pos = PosHsNrInStrasse(Strasse)
Laenge = Len(Strasse)
If pos > 0 Then
HsNr = Right(Strasse, Laenge - pos + 1)
Else
HsNr = ""
End If
End Function
Function PosHsNrInStrasse(Strasse As String) As Integer
Dim Zaehler As Integer
Dim Laenge As Integer Von rechts nach links durch Straßennamen gehen (bis auf die
Dim x As String drei linken Zeichen) damit Straßen, die mit Zahl beginnen
(z.B. "3. Nebenstraße") nicht als Hausnummer erkannt werden.
Laenge = Len(Strasse)
PosHsNrInStrasse = 0
For Zaehler = Laenge To 3 Step -1
x = Mid(Strasse, Zaehler, 1) Aktuell zu prüfendes Zeichen.
If IsNumeric(x) Then Prüfen, ob Zeichen eine Zahl ist.
PosHsNrInStrasse = InStr(Strasse, x) Position der Zahl.
End If
Next
End Function

Mehr Tipps: Verbundene Zellen wieder auflösen

Sponsoren und Investoren

Sponsoren und Investoren sind jederzeit herzlich willkommen!
Wenn Sie die Information(en) auf dieser Seite interessant fanden, freuen wir uns über eine kleine Spende. Empfehlen Sie uns bitte auch in Ihren Netzwerken (z. B. Twitter, Facebook oder Google+). Herzlichen Dank!

Nach oben Sitemap
Impressum & Kontakt