Hi Noob,
jo, das ist vmtl dem Einlesen deiner Daten geschuldet.
Ich ging davon aus, dass ebenfalls Daten in Spalte A existieren. Dem ist wohl nicht so, denn sonst hättest du das gewünschte Ergebnis erhalten.
Probiere den folgenden Code, hier werden die Daten der Spalte B ins Array (arr) eingelesen und dann verarbeitet (B2 bis B(letzte gefüllte Zelle) und die Ergebnisse nach C2:C letzte geschrieben
Code:
Sub x()
Dim rg As Range 'Datenherkunft
Dim arr As Variant 'Datenspeicher
'Daten einlesen
Set rg = ActiveSheet.Range("B1:B" & Cells(Rows.Count, 2).End(xlUp).Row) 'nur aus Spalte B:B
arr = rg.Offset(1).Resize(rg.Rows.Count - 1).Value2
'Daten be-/verarbeiten
Dim i As Long
Dim vOut() As Variant
Dim objRegExp As Object
ReDim vOut(1 To UBound(arr, 1))
'mit reguläremAusdruck alle Nicht-Ziffern als Ergebnis ermitteln
Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
objRegExp.MultiLine = True
objRegExp.ignorecase = True
objRegExp.Pattern = "\D*"
For i = 1 To UBound(arr, 1)
vOut(i) = objRegExp.Execute(arr(i, 1))(0) 'anfängliche nichtnumerischen Zeichen des Zelltextes nach vOut
Next
Set objRegExp = Nothing
'Ergebnisse nach Spalte C
ActiveSheet.Range("C:C").ClearContents 'Daten im Ausgabebereich löschen
ActiveSheet.Range("C2").Resize(UBound(vOut, 1)) = Application.Transpose( vOut ) 'Ergebnis nach Spalte C schreiben
End Sub
Bei Anfragen ist es immer gut, gleich eine Beispieldatei upzuloaden, die die Struktur der OriginalDatei mit Musterdaten und ggfs 2 -5 händisch eingetragene gewünschte Ergebnisse enthält.
Das vereinfacht den Helfern die Arbeit/das Testen und beugt Fehlern wie oben ersichtlich vor.
VG Juvee