18.06.2020, 13:26
Mappe für cef.xlsm (Größe: 1,85 MB / Downloads: 7) Hallo,
ich habe mir zum löschen von unnötigen Zeilen ein Makro zusammengeschustert, dass genau die Zeilen löscht,
wenn in Spalte P irgendwann nichts mehr steht.
Funktionieren tut es, aber es dauert ein wenig, da das Makro die Zeile löscht, den Rest hochschiebt, die nächste Zeile löscht, wieder hochschiebt usw.usw.
Hier das Makro dazu:
Sub FahrtenLoeschen()
Dim i As Long
Dim letzteZeile As Long
Dim suchBereich As Range
Dim gefunden As Range
Dim ersterTreffer As String
Dim suchWert As String
suchWert = "" 'hier kommt der Suchwert rein, der gelöscht werden soll
With ThisWorkbook.Sheets("Testblatt")
letzteZeile = .Range("A" & Rows.Count).End(xlUp).Row
Set suchBereich = .Range("P4:P" & letzteZeile)
Set gefunden = suchBereich.Find(What:=suchWert, LookAt:=xlPart)
If Not gefunden Is Nothing Then
ersterTreffer = gefunden.Address
Do
gefunden.Activate
ActiveCell.EntireRow.Delete shift:=xlUp
Set gefunden = suchBereich.Find(What:=suchWert, LookAt:=xlPart)
Loop While Not gefunden Is Nothing
End If
End With
End Sub
Kann man das Makro irgendwie beschleunigen, oder so umbauen, dass er alle Zeilen auf einmal löscht, wenn in der Spalte P nichts mehr steht?
Wichtig ist für mich nur, dass er erst ab P4 nachschaut, weil über P4 noch benötigte Überschriften stehen.
Testdatei anbei.
Vielen dank im Voraus.
Gruß
Andreas