AW: 1,2 oder auch vier?
15.09.2017 12:29:44
JoWE
Hallo Mike,
und noch eins oder zwei mehr:
Private Sub ziffern_extrahieren()
Dim ze As Long, zeichen As String
For ze = 1 To Cells(Rows.Count, 1).End(xlUp).Row '"1 to..." wenn Du in Zeile 1 anfängst
For zeichen = 1 To Len(Cells(ze, 1))
If IsNumeric(Mid(Cells(ze, 1), zeichen, 1)) Then
Cells(ze, 2) = (Cells(ze, 2) & Mid(Cells(ze, 1), zeichen, 1)) * 1
End If
Next
Next
End Sub
Natürlich könntest Du auch mit regulären Ausdrücken arbeiten.
Wäre bei größeren Datenmengen bestimmt au8ch schneller:
Public Function regExIt(strgInput As String, strgPattern As String) As String
Dim objRegExp As Object, objMatch As Object, objItem As Object
Set objRegExp = CreateObject("Vbscript.regexp")
objRegExp.Pattern = strgPattern
objRegExp.Global = True
Set objMatch = objRegExp.Execute(strgInput)
For Each objItem In objMatch
regExIt = regExIt & objItem.Value
Next objItem
Set objRegExp = Nothing
Set objMatch = Nothing
Set objItem = Nothing
End Function
Sub getNumbersonly()
Dim i As Long
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Cells(i, 2) = regExIt(Cells(i, 1), "[0-9]+")
Next
End Sub
Gruß
Jochen