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
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.
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.