Microsoft Excel

Herbers Excel/VBA-Archiv

Zahl aus Text extrahieren


Betrifft: Zahl aus Text extrahieren
von: Domi
Geschrieben am: 17.12.2018 18:11:16

Hallo zusammen,

ich möchte die erste Zahl aus einem längeren String extrahieren. Der String enthält manchmal mehrere Zahlen und die Zahlen sind nicht eindeutig (durch ein bestimmtes Zeichen) von den anderen Zeichen abgrenzbar.

z.B.: asdad123)sdds2112xsd()1223121 ==> 123 soll ausgelesen werden
EuS 121.12 (SAkjf), F19 3434, sdjsk ==> 121.12 soll ausgelesen werden
EUNSOE 532.34, fsdfsj3412 fd3 ==> 532.34 soll ausgelesen werden

Ich habe zu dem Thema schon etwas im Internet gefunden, allerdings gibt diese Funktion nur die erste Zahl ohne Nachkommastellen. Ich bräuchte sie aber mit Nachkommastellen.

Function ZahlAusText(Zelle As Range) As Variant
   Dim x As String
   Dim i As Integer
   Dim Pos1 As Integer, Pos2 As Integer
   Dim Rc As Variant
   
   ZahlAusText = ""
   x = Zelle.Value
   Do
      For i = 1 To Len(x)
         If IsNumeric(Mid(x, i, 1)) Then
            Pos1 = i
            Pos2 = i
            Exit For
         End If
      Next i
      If Pos1 = 0 Then
         Rc = ""
         Exit Do
      End If

      If Pos1 < Len(x) Then
         For i = Pos1 + 1 To Len(x)
            If Not IsNumeric(Mid(x, i, 1)) Then
               Pos2 = i - 1
               Exit For
            End If
         Next i
      End If

      Rc = CLng(Mid(x, Pos1, Pos2 - Pos1 + 1))
      Exit Do
   Loop
   
   ZahlAusText = Rc
End Function
Quelle: http://www.excel-ist-sexy.de/zahl-aus-text-extrahieren/

  

Betrifft: Hatten wir schon...oT
von: {Boris}
Geschrieben am: 17.12.2018 18:14:26

...