Wenn ich Sie in den Zeilen 1 und 2 richtig verstanden habe, möchten Sie eine Zeile 2 genau dann löschen, wenn A1 = A2, C1 = C2, D1 = D2, E1 = E2 und F1 = F2.
Das habe ich mir ausgedacht. Es könnte wahrscheinlich kürzer sein, aber es macht den Trick:
Sub DeleteDuplicate()
Dim current As String
ActiveSheet.Range("A1").Activate
Do While ActiveCell.Value <> ""
current = ActiveCell.Address
ActiveCell.Offset(1, 0).Activate
Do While ActiveCell.Value <> ""
If ((ActiveSheet.Range(current).Value = ActiveCell.Value) And (ActiveSheet.Range(current).Offset(0, 2).Value = ActiveCell.Offset(0, 2).Value) And (ActiveSheet.Range(current).Offset(0, 3).Value = ActiveCell.Offset(0, 3).Value) And (ActiveSheet.Range(current).Offset(0, 4).Value = ActiveCell.Offset(0, 4).Value) And (ActiveSheet.Range(current).Offset(0, 5).Value = ActiveCell.Offset(0, 5).Value)) Then
ActiveSheet.Rows(ActiveCell.Row).Delete
Else
ActiveCell.Offset(1, 0).Activate
End If
Loop
ActiveSheet.Range(current).Offset(1, 0).Activate
Loop
End Sub
Dies führt eine Schleife durch alle verbleibenden Zeilen aus, wobei ActiveCell als Zeiger auf die auszuwertende Zeile verwendet und die "ursprüngliche" Zeilenzelle in der aktuellen Variablen gespeichert wird. Sobald die Schleife endet, wird die Zelle unter dem Strom aktiviert und die innere Auswerteschleife beginnt erneut.
Wenn ich es irgendwo vermasselt habe, zögere nicht, es mir zu sagen :)