Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1408to1412
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Text extrahieren

Text extrahieren
12.02.2015 18:16:05
bernie
Hallo Gemeinde,
ich versuche aus einer Zelle (diese hat Text ohne Ende und darunter befindet sich der Straßenname mit Haus-Nr.) den Straßennamen mit Hausnummer auszulesen.
Da die Straße jeweils an anderer Stelle steht, habe ich da ein Problem.
Blöd ist, dass die einzige Zeichenfolge, welche immer gleich ist "str" ist.
Ich müsste somit den Bereich vor (nach dem Komma des Ortes) "str" auslesen.
Und da scheitere ich.
Beispiel
die Bestellung von Max Müller, 76456 Gunzhurst, Wiedenbrücker Str 19, wird ...
Vielleich kann mir da jemand helfen und eine brauchbare Formel zaubern?
Ich sage schon mal vorab vielen Dank für die Hilfe.
Bernie

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text extrahieren
12.02.2015 19:09:05
Martin
Hallo Bernie,
mein Vorschlag:
=LINKS(TEIL(A1;SUCHEN(",";A1;SUCHEN(",";A1)+1)+2;100);SUCHEN(",";TEIL(A1;SUCHEN(",";A1;SUCHEN(",";A1)+1)+2;100))-1)
...wobei A1 die Zelle mit der Anschrift ist.
Viele Grüße
Martin

2. Vorschlag: Benutzerdefinierte Funktion (UDF)
12.02.2015 19:17:36
Martin
Hallo Bernie,
wenn du mit "Alt+F11" in den VBA-Editor wechselst und unter "Einfügen" und "Modul" folgenden Text einfügst...
Function Straßenname(strAnschrift As String) As String
Straßenname = Trim(Split(strAnschrift, ",")(2))
End Function
...kannst du auch folgende Formel verwenden: =Straßenname(A1)
Viele Grüße
Martin

Anzeige
AW: 2. Vorschlag: Benutzerdefinierte Funktion (UDF)
12.02.2015 19:46:44
bernie
Hallo Martin,
dieses super Werk funktioniert leider nur, wenn
wie im Bespiel gezeigt immer nur 2 Kommas davor stehen
die Bestellung von Max Müller 76456 Gunzhurst, Wiedenbrücker Str 19, wird ...
Ich habe leider manchmal gleich am Anfang die Adress, dann mal irgendwo mittendrin
und gelegentlich am Ende einer Zelle. Deshalb kam ich auf die Idee als Parameter nach dem "str" zu suchen.
Gruß Bernie

AW: 2. Vorschlag: Benutzerdefinierte Funktion (UDF)
12.02.2015 20:28:58
ransi
HAllo Bernie,
Deshalb kam ich auf die Idee als Parameter nach dem "str" zu suchen.
DAs wird dir auch nur bedingt weiterhelfen.
Es gibt immer noch sowas:
die Bestellung von Max Stratmann 0815 Grützwursurst, Wiedenbrücker Straße 19, wird … 
die Bestellung von Stratmann 76456 Gunzhurst, Wiedenbrücker Str 19, wird stromlos … 

Da verschluckt sich die Suche nach str.
Hast du noch andere Anhaltspunkte die man zur Suche verwenden könnte ?
ransi

Anzeige
AW: 2. Vorschlag: Benutzerdefinierte Funktion (UDF)
12.02.2015 21:20:25
bernie
Hallo Ransi,
hinter str ist immer ein Leerzeichen, danach eine Zahl. Vielleicht hilft das weiter.
Gruß Bernie

AW: 2. Vorschlag: Benutzerdefinierte Funktion (UDF)
12.02.2015 22:17:38
Martin
Hallo Bernie,
dann versuche es mal mit dieser UDF:
Function Straßenname(strAnschrift As String) As String
Dim arrParts As Variant, i As Integer
arrParts = Split(strAnschrift, ",")
For i = 0 To UBound(arrParts) - 1
If InStr(LCase(arrParts(i)), "str ") > 0 Then
Straßenname = Trim(arrParts(i))
Exit Function
End If
Next
End Function
Der Aufruf ist wieder mit =Straßenname(A1), wobei A1 die Zelle mit der Zeichenkette ist.
Viele Grüße
Martin

Anzeige
AW: 2. Vorschlag: Benutzerdefinierte Funktion (UDF)
12.02.2015 22:33:26
bernie
Hallo Martin,
läuft bis auf die Erfassung nachstehender Zeile perfekt:
78456 Luftschlosshausen, Hubertusstraße 12 - Kunde zahlt bar ....
Da liefert die Formel kein Ergebnis. Leider ist mein VBA schwach, so dass ich Deinen Code nicht so richtig nachvollziehen kann.
Gruß Bernie

AW: 2. Vorschlag: Benutzerdefinierte Funktion (UDF)
12.02.2015 23:28:16
Martin
Hallo Bernie,
mit diesem Makro sollte auch der Sonderfall mit "straße" statt "str " klappen:
Function Straßenname(strAnschrift As String) As String
Dim arrParts As Variant, i As Integer
arrParts = Split(strAnschrift, ",")
For i = 0 To UBound(arrParts)
If InStr(LCase(arrParts(i)), "str ") > 0 Or InStr(LCase(arrParts(i)), "straße") > 0 Then
Straßenname = Trim(arrParts(i))
Exit Function
End If
Next
End Function
Viele Grüße
Martin

Anzeige
AW: 2. Vorschlag: Benutzerdefinierte Funktion (UDF)
13.02.2015 07:34:11
bernie
Hallo Martin,
das Teil ist super .... ganz herzlichen Dank.
Jetzt versuche ich mir mal den Code reinzuziehen.
viele Grüße
Bernie

Wohl 'Bernie im Glück', warum dann oben neu?
13.02.2015 19:24:27
Luc:-?
Die Analogie zu 'Hans im Glück' ist unübersehbar, Bernie,
zumal die 'Taube auf dem Dach' gar nicht so weit weg ist… ;->
Luc :-?

Hättest du mal das Archiv bemüht, ...
13.02.2015 01:34:26
Luc:-?
…Bernie,
wärst du garantiert auf x Lösungen ähnlicher Probleme, auch ziemlich komplizierte, gestoßen, mit und ohne UDF-Anwendung (letztere haben idR die kürzeren Fmln). Auf Basis der vbFkt Split gibt's da allein von mir gleich 4 universelle → Splitt, Splint, VSplit und SplitVx. Dazu kommen die von anderen AWern geschriebenen, wie Trennen u.Ä.
Gruß, Luc :-?
Besser informiert mit …
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige