Excel - Vergleichen Sie zwei Spalten und löschen Sie Duplikate
- Problem
- Lösung
- Hinweis
Problem
Ich benötige ein Makro für eine Excel-Tabelle, mit der Zeilen anhand von zwei Zellen verglichen und Duplikate gefunden werden können.
In diesem Beispiel müssen die ersten beiden Spalten - A und B - eindeutig sein. Das Makro sollte nur Zeilen kennzeichnen, die in beiden Spalten perfekt übereinstimmen. In diesem Beispiel sollte also nur die fünfte Zeile markiert werden, da sie genau mit der obigen übereinstimmt.
Beispiel:
Spalte A Spalte B Spalte C Spalte D 00001 AAAA1 xxxx yyyy 00001 BBBB1 xxxx xxxx 00001 BBBB2 yyyy yyyy 00002 AAAA1 yyyy xxxx 00002 AAAA1 yyyy xxxx 00003 AAAA1 xxxx yyyy
Lösung
Diese Lösung ändert die Daten in Ihrer Tabelle. Stellen Sie daher sicher, dass Sie eine Sicherungskopie speichern.
Zunächst müssen Sie die Daten in den Spalten A und B kombinieren, damit sie als Ganzes verglichen werden können. Geben Sie dazu in eine leere Zelle am Ende der ersten Datenzeile ein (in diesem Beispiel verwenden wir Zeile 2 - ändern Sie sie nach Bedarf):
= A2 & B2
Kopieren Sie diese Formel für die gesamte Tabelle nach unten.
Führen Sie nun das folgende Makro aus. In diesem Beispielcode wird davon ausgegangen, dass Sie die obige Formel in Spalte E geschrieben haben. Ändern Sie den Code nach Bedarf.
Warnung: Dieses Makro löscht Zeilen. Stellen Sie daher vor dem Testen sicher, dass Sie eine Sicherungskopie erstellt haben.
Subtext () Dim j As Integer, k As Integer, r As Range j = Range ("E2"). End (xlDown) .Row For k = j To 2 Step -1 MsgBox k Set r = Range (Zellen (k, "E"), Zellen (k, "E"). Ende (xlUp)) If WorksheetFunction.CountIf (r, Zellen (k, "E"))> 1 Dann Zellen (k, "E"). EntireRow. End If Next löschen k End Sub
Hinweis
Danke an venkat1926 für diesen Tipp im Forum.