ich versuche das erste Numerische Zeichen in einer Zeichenkette (String) zu finden. Ich möchte wissen an welcher Stelle die erste Zahl steht.
Vielen Dank im voraus .................
J. Jambo
Sub Zahl_finden()
Dim iZeichen As Integer
Dim sText As String
sText = "die Hausnummer ist die 22"
For iZeichen = 1 To Len(sText)
If IsNumeric(Mid(sText, iZeichen, 1)) Then
MsgBox "die erste Zahl ist die " & Mid(sText, iZeichen, 1) & Chr(10) & _
"sie ist an Position " & iZeichen & " im Text.", _
64, " Zahl finden."
Exit For
End If
Next iZeichen
End Sub
| ||||||||
Sonstiges | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Um das erste numerische Zeichen in einer Zeichenkette zu finden, kannst du folgendes VBA-Makro verwenden:
Sub Zahl_finden()
Dim iZeichen As Integer
Dim sText As String
sText = "die Hausnummer ist die 22"
For iZeichen = 1 To Len(sText)
If IsNumeric(Mid(sText, iZeichen, 1)) Then
MsgBox "Die erste Zahl ist die " & Mid(sText, iZeichen, 1) & _
" und sie ist an Position " & iZeichen & " im Text."
Exit For
End If
Next iZeichen
End Sub
ALT + F11
, um den VBA-Editor zu öffnen.Einfügen
> Modul
).ALT + F8
).Dieses Makro sucht das erste numerische Zeichen in der Zeichenkette und zeigt die Position an.
Problem: Es wird keine Zahl gefunden, obwohl eine vorhanden ist.
Problem: Das Makro funktioniert nicht in der aktuellen Excel-Version.
Wenn du kein VBA verwenden möchtest, kannst du die Funktion FINDEN
in Kombination mit WENN
und ISTZAHL
verwenden. Hier ein Beispiel:
=MIN(WENN(ISTZAHL(FINDEN(ZEILE(A1:A10)-1;A1));FINDEN(ZEILE(A1:A10)-1;A1)))
STRG + SHIFT + ENTER
, um sie als Matrixformel auszuführen.Beispiel 1:
Y 123 C 10.11.05 20:10:12
123
an Position 3
.Beispiel 2:
Y 3 R 10.11.05
3
an Position 3
.Beispiel 3:
Y 23 C 10.11.05
23
an Position 3
.Hierbei ist zu beachten, dass die Zeichenkette in ihre Bestandteile zerlegt werden muss, um die Zahlen und Buchstaben korrekt zu identifizieren.
Mid
um spezifische Teile der Zeichenkette zu extrahieren, wenn du die Position der ersten Zahl bereits kennst.GLÄTTEN
, um überflüssige Leerzeichen zu entfernen.1. Wie kann ich die Position einer Zahl in einer komplexen Zeichenkette finden?
Du kannst das oben genannte VBA-Makro verwenden oder die FINDEN
Funktion mit einer Kombination von WENN
und ISTZAHL
in Excel.
2. Was mache ich, wenn die Zeichenkette unterschiedlich viele Leerzeichen hat?
Verwende die Funktion GLÄTTEN
in Excel, um überflüssige Leerzeichen zu entfernen, bevor du die Suche startest.
3. Kann ich das Makro anpassen, um mehrere Zahlen zu finden? Ja, du kannst eine Schleife verwenden, um alle numerischen Zeichen in der Zeichenkette zu finden und sie in einer Liste auszugeben.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen