Suche nach alpha-nummerischen Begriffen mit bestimmter Länge
#1
Hallo!

Ich benötige dringend Hilfe, da ich selbst keine Lösung für mein Problem finde. 

Ich habe einen Excel-Datensatz, welcher in einer Spalte Text von unterschiedlicher Länge enthält (ca. 1-200 Wörter, sowie auch Zahlen und URLs). In diesem Text ist jeweils eine alpha-nummerische Kombination mit einer bestimmten Anzahl von Zeichen - zwischen 20 und 25- enthalten. Die Kombination beginnt jeweils mit einer Zahl und danach befindet sich ein Punkt/Ausrufe oder Leerzeichen.

Ich möchte den Text nach dieser Kombination filtern und in einer anderen Spalte ausgeben. Die Kombination steht an keiner bestimmten Stelle, sondern kann sowohl am Anfang, in der Mitte oder am Ende des Textes stehen. 

Zur Veranschaulichung ein Beispiel: 
Beispiel Text: Die Buchungsnummer für Ihren Flug nach New York am 10.09.2016 lautet: 1xEym3ui78rg1erg45egf8e.
Ausgegeben in der neuen Spalte gegeben werden soll: 1xEym3ui78rg1erg45egf8e

Hat da jemand eine Lösung für? 

Danke!
Top
#2
Hi,

Zitat:Die Kombination beginnt jeweils mit einer Zahl und danach befindet sich ein Punkt/Ausrufe oder Leerzeichen.

das deckt sich aber nicht mit deinem Beispiel:

Zitat:Beispiel Text: Die Buchungsnummer für Ihren Flug nach New York am 10.09.2016 lautet: 1xEym3ui78rg1erg45egf8e.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#3
Hallo, danke für die schnelle Rückmeldung! 

Da habe ich mich etwas ungenau ausgedrückt. Ich meinte am Ende - also anschließend an die komplette alpha-nummerischen Kombination! Nicht hinter der Zahl! :)
Top
#4
Hallo Andrea,

füge in ein allgemeines VBA-Modul diesen Code ein:
Public Function F_EXTRAKT(strText As String) As String
Dim i As Long
Dim varText As Variant
varText = Split(strText, " ")
For i = 0 To UBound(varText)
varText(i) = Left(varText(i), Len(varText(i)) + (varText(i) Like "*!" Or varText(i) Like "*."))
If Len(varText(i)) > 19 And Len(varText(i)) < 26 Then
If IsNumeric(Left(varText(i), 1)) And Not IsNumeric(varText(i)) Then
F_EXTRAKT = varText(i)
Exit For
End If
End If
Next i
End Function

Diese Funktion benutzt Du dann wie eine Excelfunktion:

AB
1TextAuszug
2Die Buchungsnummer für Ihren Flug nach New York am 10.09.2016 lautet: 1xEym3ui78rg1erg45egf8e.1xEym3ui78rg1erg45egf8e
Formeln der Tabelle
ZelleFormel
B2=F_EXTRAKT(A2)

Gruß Uwe
Top
#5
Wow! Danke für die tolle, schnelle und ausführliche Antwort! Das probiere ich gleich Mal aus!
Top
#6
Hallo Kuwer,

ich halte mich nicht für ganz blöd, aber was macht deine Formel
varText(i) = Left(varText(i), Len(varText(i)) + (varText(i) Like "*!" Or varText(i) Like "*."))
?
Ich hätte eher varText(i) = Left(varText(i), Len(varText(i)) - (varText(i) Like "*!" Or varText(i) Like "*.")) erwartet.

Gruß,
Lutz
Top
#7
Hallo Lutz,

True ergibt -1, also muss es addiert werden, damit eins abgezogen wird.

3 - 1 = 2
3 - -1 = 4, da minus Minus plus ergibt.
3 + -1 = 2.
Sub aaa()
 MsgBox "3 - 1 = " & 3 - 1 & vbNewLine & _
 "3 - -1 = " & 3 - -1 & vbNewLine & _
 "3 + -1 = " & 3 + -1
End Sub
Gruß Uwe
Top
#8
Hallo Kuwer,

du stellst jetzt mein Universum auf den Kopf. Ich war immer der Meinung, dass wahr dem Wert 1 entspricht.
Hab nochmal im Netz gesucht und du scheinst recht zu haben.

Hab dazu aber eine Frage, die vielleicht etwas am Thema vorbeigeht.
Wie funktionieren dann die ganzen Summenprodukt-Formeln. Z.B.
http://www.excelmexel.de/HTMLExcel/wahrheitswerte.htm

Wenn wahr=-1 ist, ist doch die Multiplikation dreier wahr-Werte -1 oder?

Gruß,
Lutz
Top
#9
Moin!
Lasse Dein Universum mal so wie es war.  :19:
Du musst zwischen WAHR und True unterscheiden (Excel und VBA):
FG
2WAHR1
Formeln der Tabelle
ZelleFormel
G2=F2+0

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8


VBA-Hilfe schrieb:True
Siehe auch

Das Schlüsselwort True hat den Wert -1.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Lutz Fricke
Top
#10
Hi Lutz,

in VBA ist die WAHRheit -1, in Formeln 1. Siehe auch hier:  http://www.online-excel.de/excel/singsel_vba.php?f=99
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • Lutz Fricke
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste