1) Screenupdating am Anfang deaktivieren und am Ende aktivieren -Wenn du eine Zeile löschst, wir der Bildschirm wieder aktualisiert.
2) Das Selbe mit Enable.Calculation ( und evtl. Enable.Events) - Wenn du eine Zeile löschst, wird das GANZE Blatt neuberechnet.
3) .Cells(3, 5). End (xlDown).Row in ein Variable schreiben und sie benutzen, sonst wird die letzte Zeile bei jedem Schleifendurchgang neu berechnet.
Das müsste eigentlich schon reichen.
Man könnte noch
.Cells(i, 6),.Cells(i, 7),.Cells(i, 7) ebenfalls in Variablen schreiben, damit man die nicht 2x auslesen muss.
Ausserdem: Was hindert dich daran, alle 6 Bedingungen in EINE IF-Bedingung (statt 3) zu packen?
|