Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Numerischen Wert in String erkennen

Numerischen Wert in String erkennen
12.07.2006 10:19:35
masahiro
Hallo zusammen!
Folgende Frage: ich möchte aus einem String einen numerischen Wert auslesen.
Bsp.: 258741 xxd
Problem ist, dass die anzahl der Ziffern vor den Buchstaben variiert, und ich somit nicht mit left arbeiten kann, ebenso kann ich nicht mit dem Leerzeichen arbeiten, weil dieses teilweise fehlt.
Gibt es da einen Befehl? 'Getnumericvalue' funktioniert irgendwie nicht.
Vielen Dank
Henning
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Numerischen Wert in String erkennen
12.07.2006 10:29:18
IngGi
Hallo Henning,
prüf doch den String in einer Schleife Zeichen für Zeichen auf numerische Bytes und weise diese dann gleich einer zweiten Variablen zu.

Sub Wert_aus_Text()
Dim Text As String
Dim Wert As Long
Dim i As Integer
Text = "123456sieben"
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
End Sub
Gruß Ingolf
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

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:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle im Menü Einfügen und dann Modul, um ein neues Modul zu erstellen.

  3. 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
  4. Ändere den Wert von Text in den gewünschten String.

  5. Schließe den VBA-Editor und führe das Makro aus, um den numerischen Wert zu erhalten.


Häufige Fehler und Lösungen

  • Fehler: Der Code gibt immer 0 zurück.

    • Lösung: Stelle sicher, dass der String tatsächlich einen numerischen Wert enthält. Überprüfe, ob die Ziffern am Anfang stehen.
  • Fehler: Getnumericvalue funktioniert nicht.

    • Lösung: Diese Methode wird in Excel nicht unterstützt. Nutze stattdessen den obigen VBA-Code.

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige