Hallo Zusammen,
ich habe ein liste mit ca 1000 Zeilen. In Spalte A is ein Firmenname samt Adresse und häufig auch Telefonnummer angegeben, blöderweise alles in einer Zelle. Ich habe auf die Quelle leider keinen Einfluss.
Zu allem Überfluss sind die Adressen auch noch alle unterschiedlich formatiert (Siehe Bsp). Im Grunde hätte ich das gerne komplett getrennt, also:
Firmenname | Straße | Hausnummer| PLZ | Stadt | Tel | Fax.
Da das aber vermutlich nur manuell geht hätte ich gerne wenigstens die PLZ herausgefiltert.
Ich habe es auf verschiedene Arten versucht.
Erstens, per Formel:
=+LOOKUP(9^9;1*(MID(SUBSTITUTE(A2;" ";"#")&"#";COLUMN(1:1);5)))
Das funktioniert bei einigen Fällen, aber sehr häufig spuckt Excel nciht die PLZ aus, sondern einen teil der Telefonnummer. Hier ein Beispiel:
3H- LACKE GMBH FULLENBRUCHSTR.13
D- 32120 HIDDENHAUSEN GERMANY
TEL:49 0 522138090 |
38090 |
A + B HIDES GMBH AND CO. KG VORSUMER WEG 3A D- 47608 GELDERN GERMANY |
47608 |
ABA GRINDING TECHNOLOGIES GMBH ADDRESS: BOLLENWALDSTR.116, 63743 ASCHAFFENBURG, GERMANY TEL:+49- 6028 408 552 FAX:+49- 6028 408 559 |
63743 |
Interessanterweise nimmt er immer die letzte Zusammenängende 5-Stellige Zahl. Hänge ich also z.b. in der untersten Zelle an die "559" noch 2 Ziffern an, so nimmt er diese.
Mein zweiter Ansatz war VBA:
Sub ZahlenExtrahieren()
Dim strTxt As String
Dim varVal As Variant
For d = 1 To 10
strTxt = Cells(d, 1).Text
strval = ""
For Ingindex = 1 To Len(strTxt)
Select Case Asc(Mid(strTxt, Ingindex, 1))
Case 48 To 57
varVal = varVal & Mid(strTxt, Ingindex, 1)
If CDbl(varVal) > 1000 And CDbl(varVal) <= 99999 Then
Cells(d, 2).Value = varVal
End If
Case Else
varVal = ""
End Select
Next Ingindex
Next d
End Sub
Hier dasselbe Problem, er nimmt immer die letzte mögliche Zahl.
Würde er immer die erste Zahl nehmen wäre das Problem gelöst, die PLZ steht immer vor der Telefonnummer. Ich habe auch schon versucht die Telefonnummer abzuschneiden, die ist aber leider auch nicht immer anständig gekennzeichnet.
Wäre für ne Lösung sehr dankbar.
ps.: Habe eine englische Excel 2003 Version
|