Numerischen Wert in String erkennen
Schritt-für-Schritt-Anleitung
Um aus einem String einen numerischen Wert zu extrahieren, kannst Du einen einfachen VBA-Code verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Wähle im Menü Einfügen
und dann Modul
, um ein neues Modul zu erstellen.
-
Füge den folgenden Code in das Modul ein:
Sub Wert_aus_Text()
Dim Text As String
Dim Wert As Long
Dim i As Integer
Text = "123456sieben" ' Beispiel-String
For i = 1 To Len(Text)
If IsNumeric(Mid(Text, i, 1)) Then
Wert = CLng(Wert & Mid(Text, i, 1))
Else
Exit For
End If
Next i
Debug.Print Wert ' Gibt den extrahierten numerischen Wert aus
End Sub
-
Ändere den Wert von Text
in den gewünschten String.
-
Schließe den VBA-Editor und führe das Makro aus, um den numerischen Wert zu erhalten.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn Du keinen VBA-Code verwenden möchtest, kannst Du auch die Excel-Funktion TEXTVERKETTEN
(in neueren Versionen) oder FILTER
verwenden, um die Ziffern aus einem String zu extrahieren. Eine Formel könnte so aussehen:
=TEXTVERKETTEN("", WAHR, WENN(ISTZAHL(TEIL(A1, ZEILE($1:$100), 1)), TEIL(A1, ZEILE($1:$100), 1), ""))
Diese Formel funktioniert nur in Excel 365 oder Excel 2021. Sie gibt alle Ziffern in den Zellen als Text zurück.
Praktische Beispiele
Nehmen wir an, Du hast einen String in Zelle A1, der wie folgt aussieht: 258741 xxd
. Um den numerischen Wert zu extrahieren, kannst Du den VBA-Code anpassen:
Text = Range("A1").Value
Jetzt wird der Inhalt von Zelle A1 analysiert. Du kannst den Code auch so erweitern, dass er mehrere Strings in einer Spalte verarbeitet.
Tipps für Profis
- Nutze
Debug.Print
, um Zwischenergebnisse im Direktfenster zu überprüfen.
- Wenn Du häufig mit Strings arbeitest, erwäge das Erstellen einer Funktion, die Du in Deinen Excel-Formeln verwenden kannst.
- Achte darauf, dass die Zeichen im String keine Leerzeichen oder unerwartete Zeichen enthalten, die die Extraktion des numerischen Wertes stören könnten.
FAQ: Häufige Fragen
1. Wie kann ich die Funktion für verschiedene Strings anpassen?
Du kannst den Wert von Text
in der Subroutine anpassen oder eine Funktion erstellen, die einen Parameter für den String akzeptiert.
2. Funktioniert dieser Code auch in Excel Online?
Nein, VBA-Code funktioniert nur in der Desktop-Version von Excel. Du kannst jedoch die oben genannten Formeln in Excel Online verwenden.