AW: Zahl in Zelle löschen
30.06.2016 15:42:18
Matthias
Hallo Claudia!
Du könntest entweder den Zelleninhalt Zeichenweise durchgehen, prüfen ob es eine Zahl und und die Anzahl an Zahlen mitzählen. Alt. gehts das auch mit der regex. HAbe mich für letzteres entschieden. Im Beispiel geht der Code die Spalte A durch und löscht alle 5stelligen Zahlen. ggf. anhängende bzw. führende Leerzeichen werden ignoriert. Schau mal bitte, ob das hilft. VG
Option Explicit
Sub zahlen_löschen()
Dim i As Long
Dim letzte As Long
Dim zahl As String
'hier die Spalte anpassen, 1 steht für Spalte A , B wär 2 etc.
letzte = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To letzte
zahl = suche(ActiveSheet.Cells(i, 1)) 'ggf hier und darunter auch anpassen
If zahl "" Then ActiveSheet.Cells(i, 1) = Replace(ActiveSheet.Cells(i, 1), zahl, "")
Next i
End Sub
Function suche(ByVal myStr As String)
Dim regEx As Object
Dim Treffer As Object
Dim i As Long
Set regEx = CreateObject("Vbscript.Regexp")
With regEx
.Pattern = "[0-9]+"
.Global = True
Set Treffer = .Execute(myStr)
End With
With Treffer
If .Count > 0 Then
For i = 1 To .Count
If Len(.Item(i - 1)) = 5 Then
suche = .Item(i - 1)
End If
Next i
End If
End With
End Function