VBA doppelte Zeilen löschen wenn 2 Kriterien erfüllt sind

Hallo,wieder einmal sitze ich vor dem Excel und komme nicht auf die Lösung.

Ich will aus einer großen Excelliste die doppelten Einträge von Spalte I löschen wenn:
 sich ein doppelter Eintrag in Spalte I und gleichzeitig in Spalte 10 der gleiche Hersteller bef.
Zum Beispiel in Spalte I steht Unterputzdose und Spalte 10 Mea (Hersteller)
Ist diese Zeile doppelt vorhanden, dann löschen. Unabhängig aller anderen Zellen dieser Zeile. (Spalten A bis N). Länge unterschiedlich.
Dazu habe ich folgenden Code:

jedoch löscht er nur einige doppelte. Die Anzahl der Zeilen ändere ich vor ausführen des Codes auf die Tabellengröße.

Für Ihre Hilfe bin ich dankbar

Sub doppelte_löschen()

For Each r In Range(„A1:A5412“)
    If r.Row > 1 Then
        If Cells(r.Row, 9).Value = Cells(r.Row - 1, 9).Value _
        And Cells(r.Row, 10).Value = Cells(r.Row - 1, 10) Then
            Rows(r.Row).Delete
        End If
    End If
Next

End Sub

Hallo os2

jedoch löscht er nur einige doppelte

Versuche es einmal, das Pferd von hinten aufzuzäumen:

Sub Test()

rc = 5412
’ Statt Range(„A1:A5412“)

For r = rc To r = 1 Step -1
If r > 1 Then
If Cells(r, 9).Value = Cells(r - 1, 9).Value _
And Cells(r, 10).Value = Cells(r - 1, 10) Then
Rows®.Delete
End If
End If
Next

End Sub

Ich hoffe, das hilft Dir.

Es werden dabei Zeilen aber nur dann gelöscht, sofern die Einträge unmittelbar nacheinander aufgeführt sind - also nur, wenn die Einträge z. B. in Zeile 5 und 6 und 7 gleich sind. Doppelte bzw. mehrfache Einträge, die sich irgendwo in der Tabelle befinden (z. B. in Zeile 5 und Zeile 12 und Zeile 33), werden nicht berücksichtigt.

Grüsse Niclaus

Hallo Niclaus,

habe die Tabelle erst aufsteigend sortiert,
Das sortieren mit Makrorekorder aufgenommen und ins Makro geschrieben.
anschließend Makro laufen lassen --> funktioniert auf Anhieb.
Vielen Dank, werd es noch weiter austesten.

VG OS2