Ich habe hier ein Makro. Damit sollen alle Zeilen gelöscht werden, bei denen in Spalte C,D,E und F der Wert 0 ist. (also nicht ODER sondern UND).
Sub Bereinigen()
' Zeilen löschen bei denen in Spalte C,D,E und F der Wert "0" ist
'** Ermittlung der letzten Zeile in Spalte A
lz = Cells(Rows.Count, 1).End(xlUp).Rows.Row
'** Durchlauf aller Zeilen
For t = lz To 2 Step -1 'Zählung rückwärts bis Zeile 2
'Abfragen, ob in Spalte 3,4,5 und 6 der Wert "0" ist
If Cells(t, 3).Value = "0" And Cells(t, 4).Value = "0" And Cells(t, 5).Value = "0" And Cells(t, 6).Value = "0" Then
Rows(t).Delete Shift:=xlUp
End If
Next t
End Sub
Das Makro habe ich nicht selbst geschrieben. Dafür reichen meine Kenntnisse in VBA leider nicht aus. Ich habe es per Google gefunden und etwas angepasst.Die Tabelle, in der ich das anwenden möchte, hat ca. 20.000 Zeilen. Und da dauert die Ausführen schon eine Weile (so ca. 10-20 Sekunden, denke ich). Das liegst doch sicher an der Schleife, die ja jede Zeile einzeln durchgeht, oder?
Lässt sich das irgendwie besser machen, so dass die Ausführen des Mokros wesentlich schneller geht?
Gruß
Ingo