Excel - Vergleichen Sie zwei Spalten und löschen Sie Duplikate

Mathematische oder logische Operationen können nicht manuell auf Excel-Arbeitsblättern ausgeführt werden, die große Datenmengen enthalten, da dies zu lange dauern würde. Excel ist jedoch eine effiziente Office-Software, mit der Daten über ein Makro oder einen VBA-Programmcode automatisch bearbeitet werden können. Um zwei Spalten zu vergleichen und doppelte Daten in Excel zu löschen, kann ein Makro geschrieben werden, um einen logischen oder mathematischen Vergleich der Spalten durchzuführen und entfernen Sie die Zeilen mit doppelten Daten. Ein gut geschriebenes Excel-Makro kann die Aufgabe schnell und genau erledigen. Es ist einfach, zwei Spalten zu vergleichen und Duplikate in Excel zu löschen.

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

Vorherige Artikel Nächster Artikel

Top-Tipps