Ich habe eine Datei mit mehreren Tabellen, in denen ich alle Zeilen, in denen in Spalte AA "löschen" steht, löschen will. Bisher habe ich Zeile für Zeile abgearbeitet, aber das geht relativ lange. Deshalb strebe ich folgende Lösung an:
Damit die bleibenden Zeilen in der gewünschten Reihenfolge bleiben, sind diese in Spalte AF (32 Spalte) durchnummeriert (von 1 an aufwärts).
Nun sortiere die Zeilen ab Zeile 1 bis derjenigen Zeile, in der die letzte Zeile "usedrange" steht.
Nach dem Sortieren habe ich alle Zeilen mit dem Eintrag "löschen" in einem Bereich. Nun möchte ich alle Zeilen, die in diesem Bereich liegen, anwählen und löschen.
Damit sollte meines Erachtens die Laufzeit des Makros wesentlich verkürzt werden.
Kann mir jemand hier auf die Sprünge helfen?
Danke, Peter
Sub Zeilen_loeschen()
Dim x As Integer
Dim ende, iRow As Long
For x = 1 To Sheets.Count
ende = 'letzte Zeilennummer innerhalb usedrange ermitteln
'Zeilen 1:ende nach Spalte 27 (primär) und 32 (sekundär) sortieren
'Bereich mit Zeilen in denen in Spalte 27 "löschen" steht ermitteln
'diesen Bereich löschen
Next x
End Sub