Das beiliegende Makro soll die Zellen in den Spalten B,C,D löschen/leeren, wenn sie nicht mit dem Wert aus Spalte A beginnen. Ausgangssituation:
A A12345 A56789 B12312
B B12312 E12312 F12314
C B98765 C78765 B12312
1 123123 213123 198667
2 212352 B12356 G13779
3 F12314 312312 123555
Gewünschtes Ergebnis:
A A12345 A56789
B B12312
C C78765
1 123123 198667
2 212352
3 312312
Bislang funktioniert es allerdings nur bei denjenigen Zeilen, die mit einem Buchstaben anfangen (Zeilen 1 bis 3), nicht jedoch bei solchen mit einer Zahl (Zeilen 4 bis 6). Hat jemand eine Ahnung, warum das der Fall ist?
Darüber hinaus ist es mir bislang nur gelungen, die Zellen über .ClearContents zu leeren, nicht aber sie über .Delete shift:=xlToLeft nach Links zu verschieben. Hat jemand eine Idee, wie man letzteres umsetzen könnte?
Vielen Dank für jeden Vorschlag!
Sub Loeschen()
Dim rCheck As Range, i As Integer, iCol As Integer
Set rCheck = Range("A1")
iCol = 5
Do While rCheck.Value ""
For i = 1 To iCol
If Left(Cells(rCheck.Row, i + 1).Value, 1) rCheck.Value Then
Cells(rCheck.Row, i + 1).ClearContent
'Cells(rCheck.Row, i + 1).Delete shift:=xlToLeft
End If
Next i
Set rCheck = rCheck.Offset(1, 0)
Loop
End Sub