Thema Datum  Von Nutzer Rating
Antwort
Rot Postleitzahlen aus Adressfeld auslesen
25.03.2013 14:00:48 Timo
Solved
25.03.2013 14:38:01 timo
Solved

Ansicht des Beitrags:
Von:
Timo
Datum:
25.03.2013 14:00:48
Views:
1930
Rating: Antwort:
 Nein
Thema:
Postleitzahlen aus Adressfeld auslesen

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


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Postleitzahlen aus Adressfeld auslesen
25.03.2013 14:00:48 Timo
Solved
25.03.2013 14:38:01 timo
Solved