For, InStr + Delete sehr langsam
15.04.2021 11:06:03
Marc
ich habe ein sehr simples kleines VBA-Skript, welches das tut was es soll. Es durchläuft ein Arbeitsblatt von unten nach oben und löscht die Zeilen sofern eine Bedingung erfüllt ist:
Sub Bereinigen()
Dim LastRow As Long, Zeile As Long
LastRow = Sheets("Übersicht").Cells(Sheets("Übersicht").Rows.Count, "A").End(xlUp).Row
For Zeile = LastRow To 2 Step -1
If InStr(Sheets("Übersicht").Cells(Zeile, 2).Value, "\Text A") = 0 _
And InStr(Sheets("Übersicht").Cells(Zeile, 2).Value, "\Text B") = 0 _
And InStr(Sheets("Übersicht").Cells(Zeile, 2).Value, "\Text C\") = 0 _
Then
Sheets("Übersicht").Rows(Zeile).Delete Shift:=xlUp
End If
Next Zeile
End Sub
Was mich wundert: Wir sprechen von Was bitte braucht denn dabei so viel Zeit? Mache ich etwas falsch oder übersehe ich etwas?
Danke vorab.