für einen Serienbrief versuche ich seit einiger Zeit die aus einem CRM erstellte Zelle:
A1
Mustermann Straße 13 40221 Düsseldorf
aufzuteilen in
A1
Mustermann Straße 13
B1
40221
C1
Düsseldorf
mit meiner Excel-Anfänger Kompetenz bekomme ich es mit den Formeln Links Rechts usw. nicht sauber hin.
Man muss dazu wissen, dass manche Straßen Namen aus 2 oder 3 Wörtern bestehen.
Außerdem können Bindestriche vorkommen,
Ich bin über jeden Support sehr dankbar, vielen Dank!
dieser kleine Code sollte das Problem ebenfalls lösen. M.E. sogar ohne Fehler durch Bindestrich oder Doppelworte im Text!
Das Geheimniss: ich suche die PLZ Rüclwaerts im Text, dann spielen diese Faktoren keine Rolle. Nur die 5stellige PŞZ ist entscheidend.
Und ist die mal 4stellig kommt KEINE Auswertung!
mfg Gast 123
Code:
Sub AdressString_zerlegen()
Dim AC As Range, lz1 As Long
Dim j As Integer, n As Integer
'LastZell in Spalte A suchen
lz1 = Cells(Rows.Count, 1).End(xlUp).Row
'Schleife für alle Adressen in Spalte A
For Each AC In Range("A1:A" & lz1)
'sucht 5stellige PLZ Nummer!
For j = Len(AC) To 3 Step -1
'n löschen bei Leerzeichen im Text!
If Mid(AC, j, 1) = " " Then n = 0
If IsNumeric(Mid(AC, j, 1)) Then n = n + 1
If n = 5 Then
AC.Offset(0, 4) = Trim(Mid(AC, j + 6))
AC.Offset(0, 3) = Trim(Mid(AC, j, 5))
AC.Offset(0, 2) = Trim(Left(AC, j - 1))
n = 0: Exit For
End If
Next j
Next AC
End Sub