Ich möchte ein Makro erstellen, das mit einer Whitelist übereinstimmt, und dann alles löschen, was nicht auf der Whitelist steht. Ich habe den folgenden Code:VBA Whitelist - Abgleich mit Whitelist, dann Löschen bestimmter Bereiche
Sub WHITELIST()
Dim LR As Long, i As Long
With Sheets("Sheet1")
LR = .Range("A" & Rows.Count).End(xlUp).Row
For i = LR To 1 Step -1
If IsError(Application.Match(.Range("A" & i).Value, Sheets("Whitelist").Columns("A"), 0)) Then .Rows(i).Delete
Next i
End With
End Sub
Aber mein Code löscht die gesamte Zeile. Ich möchte nur den Bereich A: B löschen und die Zellen nach oben verschieben (die Zeilengröße ist variabel, so dass ich immer bis zur letzten Zeile prüfen möchte - bis zu 40.000 Zeilen). Es ist wichtig, dass "wichtige Daten" nicht gelöscht werden. Hier ist ein Beispiel, wie das Makro funktionieren sollte:
Hoffnung jemand kann mir helfen,
Grüße