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:12123 an Position 3.Beispiel 2:
Y 3 R 10.11.053 an Position 3.Beispiel 3:
Y 23 C 10.11.0523 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.