Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
732to736
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
732to736
732to736
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

3-stellige Zahl innerhalb Text suchen

3-stellige Zahl innerhalb Text suchen
21.02.2006 09:46:23
Claus
Hallo,
habe über 10.000 Texte zu durchsuchen. Schön wäre folgende Formel:
Wenn in A1 3 oder mehr Ziffern hintereinander stehen, in B1 diese 3 Ziffern anzeigen, sonst "Nein".
Dann könnte ich bequem per Autofilter die verschiedenen 3-stelligen Zahlen (Volt-Angaben 110 V, 115 V, 230 V, 240 V etc.) analysieren und ggf. richtig stellen.
Grüßle Claus

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 09:59:52
MichaV
Hallo,
1. steht hinter jeder von Dir gesuchten Zahl ein V ?
oder
2. stehen noch andere Zahlen in den Zellen?
Gruß- Micha
PS: Rückmeldung wäre nett.
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 10:04:41
Claus
Hallo Micha,
vielen Dank schonmal, dass du dich der Sache annimmst.
Das V hinter der Zahl ist nicht zuverlässig. Manchmal ist noch eine Leerstelle dazwischen, es kann aber evtl. auch ganz fehlen. Vorerst reicht mir alle 3-stelligen Zahlen zu finden. Wenn dann noch Hunderte diese Bedingung erfüllen, müsste man evtl. auch noch das V nach der Zahl abfragen, ich hoffe aber, dass dann nur noch einige Zig übrig bleiben und es entsprechend übersichtlich wird.
Grüßle Claus
P.S.: Rückmeldung finde ich selbstverständlich, denn zumindest ein Dank für´s geholfen worden sollte M.M. nach drin sein.
Anzeige
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 10:15:14
MichaV
Hallo Claus,
das ist für viele ebend nicht selbstverständlich.
Ich hatte an eine ohne VBA- Lösung gedacht, aber die wird auf jeden Fall langsamer arbeiten (bzw. wenn die Texte sehr lang sind, Dein System an den Rand des Abgrunds bringen ;o)) als u_'s Vorschlag. Wenn Dir der reicht, solls okay sein.
Das Leerzeichen ist übrigens unwichtig. Wenn das V aber ganz fehlen kann, ists doof.
Gruß- Micha
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 10:23:54
Claus
Hallo Micha,
die Texte sind kurz, maximal 40 Stellen. (denn Sie kommen aus einem 40-stelligen SAP-Feld). Laufzeit dürfte nicht das Problem sein, auch kein Problem, wenn ich einige zusätzliche Spalten benötigen würde. Filtern, ausblenden etc. bin ich fit, nur VBA ist nicht mein Ding, hab´s halt noch nie gelernt. Aufzeichnen und einigermassen im Quellcode modifizieren kann ich, aber es fehlen halt die Grundlagen.
Von daher, wenn es für dich nicht zuuu viel Geschäft macht, würde ich mich über eine Lösung ohne VBA freuen.
Grüßle Claus
Anzeige
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 10:29:36
MichaV
Hallo Claus,
lass Dir das mal trotzdem von u_ erklären. Ich setz mich in der Mittagspause ran und guck, ob ich was basteln kann. Dann kannst Du ja vergleichen, was Dir besser gefällt.
Gruß- Micha
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 10:36:30
Claus
dem kann ich aber nur zustimmen, wenn du Spaß an der Sache hast...
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 21:51:27
MichaV
Hallo,
ich kriegs nicht hin, sorry ;o)
Mußt also vorerst mit u_'s Lösung leben.
Gruß- Micha
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 10:01:41
u_
Hallo,
in ein Modul:
Public

Function DreiZiffern(strTxt As String) As Integer
Dim i As Integer, strTmp As String
For i = 1 To Len(strTxt) - 2
strTmp = Mid(strTxt, i, 3)
If IsNumeric(strTmp) Then
DreiZiffern = strTmp * 1
Exit For
End If
Next i
End Function
Gruß
Geist ist geil!
Anzeige
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 10:17:50
Claus
Hallo u_ (unbekannt ?)
vielen Dank für dein Modul. Geist ist geil, finde ich auch, doch leider finde ich den Geist nur in sehr beschränktem Umfang bei mir, will sagen:
Könntest du mir erklären, wo und wie ich diesen Quellcode eingeben muss, kann ich den dann als Funktion z. B. B1 = DreiZiffern(A1) einsetzen? Das wäre echt geil.
Sorry, dass ich mich so anstelle...
Grüßle Claus
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 10:34:39
u_
Hallo,
VB-Editor öffnen (Alt+F11), Rechtsklick im linken Fenster (Projekt-Explorer) auf deine Mappe-Einfügen-Modul und den Code in das Modul kopieren. Anschließend kannst du, wie du schon vermutet hast, die Funktion benutzen (=DreiZiffern(A1))
Gruß
Geist ist geil!
Anzeige
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 10:48:17
Claus
Hallo,
Klasse, das find ich prima, wie mir geholfen wird.
Habe jetzt das Modul eingegeben. Hierbei gibt es noch ein klitzekleines Problem: Wenn am Ende des 3-stelligen Ziffernblocks eine 0 steht, wird z.B. "24" anstatt "240" ausgegeben.
Ansonsten funktioniert es - vielen Dank hierfür.
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 10:59:28
u_
Hallo,
bei mir steht da 240.



Gruß
Geist ist geil!
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 11:15:37
Claus
Sehr merkwürdig.
Bei deinem Beispiel geht´s bei mir auch, bei diesem Beispiel tritt der Fehler auf:
1STD.LADEGERAET 240V
Erwarten würde ich hier 240, es kommt 24
Ich glaube, das ist ´ne harte Nuss?
Grüßle Claus
Anzeige
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 11:58:39
u_
Hallo,
so geht's:

Function DreiZiffern(strTxt As String) As Integer
Dim i As Integer, strTmp As String
For i = 1 To Len(strTxt) - 2
strTmp = Mid(strTxt, i, 3)
If Len(Replace(strTmp, " ", "")) = Len(strTmp) And IsNumeric(strTmp) Then
DreiZiffern = strTmp * 1
Exit For
End If
Next i
End Function

Gruß
Geist ist geil!
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 12:10:32
Claus
Suppi!! Jetzt passt es.
War der Fehler für dich nachvollziehbar?
Allerdings: Jetzt sehe ich, dass ich doch oft 3 Ziffern habe und aber später noch die Voltzahl, Beispiel:
BA 0665 BELT SANDER, 240 V
Wäre es denkbar, das Modul noch so auszubauen: Die 3-stellige Zahl ausgeben, der entweder im direkten Anschluß oder nach einer weiteren Leerstelle ein "V" folgt. ?
Nehme an, man müsste dann von hinten nach vorne durchsuchen und dann nach dem v (kann groß oder klein sein) nach Ziffern suchen...
Sicher recht aufwendig, oder?
Liebe Grüße
Claus
Anzeige
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 12:52:45
u_
Hallo,
nicht aufwändig, man muss es nur wissen und ein bisschen denken.

Function DreiZiffern(strTxt As String) As Integer
Dim i As Integer, strTmp As String
strTxt = Replace(strTxt, " ", "")
For i = 1 To Len(strTxt) - 3
strTmp = Mid(strTxt, i, 4)
If IsNumeric(Left(strTmp, 3)) And UCase(Right(strTmp, 1)) = "V" Then
DreiZiffern = Left(strTmp, 3) * 1
Exit For
End If
Next i
End Function

Gruß
Geist ist geil!
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 16:04:23
Claus
Sodele, hallole,
sorry, hatte zwischendurch keine Zeit.
Jetzt hab ich die neue Formel mit Berücksichtigung des V eingegeben, und:
Jippieee, es finktioniert tadellos. Vielen Dank!
Verstehe auch der Spur nach den Code, zuerst eliminierst du die Leerstellen, dann analysierst du alle enthaltenen 4-stelligen Teile, ob die linken 3 Stellen numerisch sind und gleichzeitig die rechteste Stelle = "V" ist. Ist diese Bedingung erfüllt, wandert´s in den Zwischenspeicher DreiZiffern usw.
Liebe Grüße
Claus
Anzeige
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 19:52:36
Claus
Hallo nochmal,
jetzt hab ich noch ein Detailproblem: Manchmal kommt 3-stellige Zahl mit V hinterher, zwei mal oder mehrfach vor. Die Funktion gibt mir jetzt die erste Möglichkeit aus, ich hätte aber gerne die letzte, da meine Voltzahl meist am Ende steht.
Folgendes hab ich probiert:
For i = 1 To Len(strTxt) - 3
ersetzt durch
For i = Len(strTxt) - 3 To 1
So klappt es aber nicht, das wäre ja die Geschichte mit dem blinden Huhn und dem Korn gewesen...
Vielleicht könntest du ja nochmal ran gehen? Ich wäre dir sehr dankbar. Kann aber erst Morgen wieder weiterschaffen, muss jetzt in die Musikprobe.
Grüßle Claus
Anzeige
AW: 3-stellige Zahl innerhalb Text suchen
21.02.2006 21:53:03
MichaV
Hallo,
ungetestet:
For i = (Len(strTxt) - 3) To 1 Step -1
Gruß- Micha
PS: Rückmeldung wäre nett.

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige