Jeśli dobrze cię zrozumiałem, biorąc pod uwagę wiersze 1 i 2, chcesz usunąć wiersz 2 wtedy i tylko wtedy, gdy A1 = A2, C1 = C2, D1 = D2, E1 = E2 i F1 = F2.
Właśnie to wymyśliłem. Prawdopodobnie może być krótszy, ale załatwia sprawę:
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
To robi pętlę przez wszystkie pozostałe linie za pomocą ActiveCell jako wskaźnika do ocenianego wiersza i zapisując „oryginalną” komórkę wiersza w bieżącej zmiennej. Po zakończeniu pętli komórka poniżej prądu zostaje aktywowana, a wewnętrzna pętla oceny rozpoczyna się ponownie.
Jeśli gdzieś coś pomieszałem, nie wahaj się mi powiedzieć :)