Excel 07 VBA: Text links schneiden bis zum ersten Buchstaben

Beantwortet Excel 07 VBA: Text links schneiden bis zum ersten Buchstaben

  • Freitag, 25. Mai 2012 12:01
     
     

    Hallo zusammen,
    meine Anfrage:
    Ist es möglich Zahlen (von links) bis zum Auftritt des ersten Buchstabens aus einem Text

    abzuschneiden? 

    Beispiele:
    Aus: "01030170 NNN    X    00000010000m3     X" soll "01030170" werden.
    Aus: "0104     N" soll "0104" werden.
    Aus: "2 1  20 NNN         00000016000ST" soll "2 1  20" werden.

    Ist so etwas machbar?
    Ich danke Euch. Gruß Steffen

Alle Antworten

  • Freitag, 25. Mai 2012 12:21
     
      Enthält Code

    Hallo Steffen,

    wenn das Ergebnis numerisch sein soll (wäre ohne führende Nullen), dann geht es ganz einfach mit der Val Funktion:

    Public Sub Test()
        Dim result As Long
        result = Val("01030170 NNN    X    00000010000m3     X")
        MsgBox result
    End Sub

    Ansonsten reicht eine kleine Funktion:

    Public Function GetNumeric(ByVal value As String) As String
        Dim result As String
        Dim i As Integer
        
        For i = 1 To Len(value)
            If "0123456789" Like "*" + Mid$(value, i, 1) + "*" Then
                result = result + Mid$(value, i, 1)
            Else
                Exit For
            End If
        Next i
        
        GetNumeric = result
    End Function


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

  • Freitag, 25. Mai 2012 15:58
     
     

    Hallo Olaf, danke für Deine zwei Varianten.

    Variante 1 fällt weg, weil es soll auch im Ergebnis ein string sein/bleiben. Da gibt es manchmal Leerzeichen dazwischen.

    --

    Die Variante 2 (die Funktion) habe ich getestet. Bei mir wird hier im Ergebnis immer nur das erste Zeichen aus dem string angezeigt.

    Zum Beispiel bei   "2 1  20 NNN         00000016000ST" statt "2 1  20" 'nur' "2".

    Gruß Steffen

  • Freitag, 25. Mai 2012 16:08
     
     Beantwortet

    Hallo Steffen,

    dann füge der Liste der Zeichen einfach noch ein Leerzeichen hinzu.

    "0123456789 "


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    • Als Antwort markiert Steffen Brose Samstag, 26. Mai 2012 12:12
    •  
  • Samstag, 26. Mai 2012 12:13
     
     
    Hallo Olaf,
    ... schon klar =  "ganz einfach"...
    Vielen Dank Dir - es funktioniert so jetzt 1A.
    Gruß Steffen