VBA Duplikate entfernen

Excel verfügt über eine Funktion, mit der die doppelten Werte aus den ausgewählten Zellen, Zeilen oder Tabellen entfernt werden. Was passiert, wenn dieser Prozess in VBA automatisiert wird? Ja, das Entfernen des Duplikats kann in VBA in Form eines Makros automatisiert werden. Während des Entfernens des Duplikats verbleiben die eindeutigen Werte in der Liste oder Tabelle, sobald dies abgeschlossen ist. Dies kann mithilfe der Funktion "Duplikate entfernen" in VBA geschehen.

Wie verwende ich Excel VBA zum Entfernen von Duplikaten?

Wir werden lernen, wie man VBA-Duplikate entfernt, mit wenigen Beispielen in Excel.

Sie können diese Excel-Vorlage zum Entfernen von VBA-Duplikaten hier herunterladen - Excel-Vorlage zum Entfernen von VBA-Duplikaten

Beispiel # 1 - VBA Duplikate entfernen

Wir haben nur in Spalte A eine Liste mit Zahlen von 1 bis 5 bis Zeile 20. Wie wir im folgenden Screenshot sehen können, werden alle Zahlen mehrmals wiederholt.

Jetzt ist es unsere Aufgabe, das Duplikat per VBA aus der Liste zu entfernen. Wechseln Sie dazu mit der Taste F11 in das VBA-Fenster.

In diesem Beispiel wird die grundlegende Verwendung der Funktion zum Entfernen von Duplikaten in VBA für Zahlen gezeigt. Dafür brauchen wir ein Modul.

Schritt 1: Öffnen Sie ein neues Modul über das Menü Einfügen auf der Registerkarte Einfügen.

Schritt 2: Sobald es geöffnet ist, schreiben Sie die Unterkategorie von VBA Remove Duplicate wie unten gezeigt.

Code:

 Sub VBARemoveDuplicate1 () End Sub 

Schritt 3: Beim Entfernen des Duplikats müssen zuerst die Daten ausgewählt werden. Dazu werden wir in VBA die Auswahlfunktion verwenden, bis eine vollständige Datenliste ausgewählt ist (siehe unten).

Code:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Wählen Sie End Sub 

Schritt 4: Jetzt wählen wir den Bereich der ausgewählten Zellen oder Spalten A aus. Er wird nach unten verschoben, bis wir die Daten in einer bestimmten Spalte haben. Nicht nur bis Reihe 20.

Code:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Select Range (Selection, Selection.End (xlUp)). Select End Sub 

Schritt 5: Wählen Sie nun den Bereich der Zellen in einem aktuell geöffneten Blatt aus, wie unten gezeigt. Dadurch wird die gesamte Spalte aktiviert. Wir haben Spalte A bis zum Ende ausgewählt.

Code:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Wählen Sie Range (Selection, Selection.End (xlUp)) .Wählen Sie ActiveSheet.Range ("A: A"). End Sub 

Schritt 6: Verwenden Sie hier nun die Funktion RemoveDuplicate. Dadurch wird der Befehl zum Entfernen der doppelten Werte aus der Reihenfolge der Spalten 1 aktiviert. Wenn mehrere Spalten vorhanden sind, wird die Nummer hinzugefügt und durch Kommas in Klammern getrennt (1, 2, 3, …).

Code:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Select Range (Selection, Selection.End (xlUp)). Select ActiveSheet.Range ("A: A"). RemoveDuplicates Columns: = 1, End Sub 

Schritt 7: Jetzt verwenden wir den Befehl Kopfzeile, mit dem der Cursor in die oberste Zelle des Arbeitsblatts bewegt wird, die sich größtenteils in der Kopfzeile einer Tabelle befindet.

Code:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Select Range (Selection, Selection.End (xlUp)). Select ActiveSheet.Range ("A: A"). RemoveDuplicates Columns: = 1, Header: = xlYes End Sub 

Schritt 8: Kompilieren Sie nun die Codeschritte, indem Sie die Taste F8 drücken. Wenn Sie fertig sind, klicken Sie auf die Schaltfläche Abspielen, um den Code wie unten gezeigt auszuführen.

Wie wir sehen können, wird die doppelte Nummer aus Spalte A gelöscht und es bleibt nur eine eindeutige Anzahl übrig.

Beispiel # 2 - VBA Duplikate entfernen

In diesem Beispiel wird gezeigt, wie doppelte Werte aus mehr als einer Spalte entfernt werden. In diesem Fall betrachten wir dieselbe doppelte Liste, die in Beispiel 1 verwendet wurde. Auf eine neue Art und Weise haben wir 2 weitere Spalten mit den gleichen Werten hinzugefügt, wie unten gezeigt.

Dies ist eine weitere Methode mit einer etwas anderen Art der Codestruktur.

Schritt 1: Öffnen Sie ein neues Modul in VBA und schreiben Sie die Unterkategorie in VBA Remove Duplicate. Wenn möglich, geben Sie ihm eine Sequenznummer, damit Sie besser den richtigen Code für die Ausführung auswählen können.

Code:

 Sub VBARemoveDuplicate2 () End Sub 

Schritt 2: Wählen Sie zunächst das vollständige Blatt in VBA aus (siehe Abbildung unten).

Code:

 Sub VBARemoveDuplicate2 () Cells.Select End Sub 

Schritt 3: Wählen Sie nun das aktuell geöffnete Blatt mit dem ActiveSheet-Befehl aus und wählen Sie die Spalten A bis C aus, wie unten gezeigt.

Code:

 Sub VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). End Sub 

Schritt 4: Wählen Sie nun den Befehl RemoveDuplicates und danach das Spaltenarray von 1 bis 3, wie unten gezeigt.

Code:

 Sub VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). RemoveDuplicates Columns: = Array (1, 2, 3), End Sub 

Schritt 5: Verwenden Sie zuletzt den Befehl Header, der in den Prozess zum Entfernen von Duplikaten als xlYes einbezogen werden soll (siehe unten).

Code:

 Sub VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). RemoveDuplicates Columns: = Array (1, 2, 3), Header: = xlYes End Sub 

Schritt 6: Kompilieren Sie nun den vollständigen Code und führen Sie ihn aus. Wie wir unten sehen können, wird das gesamte Blatt ausgewählt, aber die doppelten Werte werden aus den Spalten A, B und C entfernt, wobei nur die eindeutige Anzahl beibehalten wird.

Beispiel # 3 - VBA Duplikate entfernen

Dies ist eine weitere Methode zum Entfernen von Duplikaten. Dies ist die einfachste Methode zum Entfernen von Duplikaten in VBA. Hierfür werden wir die Daten verwenden, die wir in Beispiel-1 gesehen und auch unten gezeigt haben.

Schritt 1: Gehen Sie nun zu VBA und schreiben Sie die Unterkategorie von VBA Remove Duplicates erneut. Wir haben jedem Code, den wir gezeigt haben, die richtige Reihenfolge gegeben.

Code:

 Sub VBARemoveDuplicate3 () End Sub 

Schritt 2: Dies ist ein ziemlich ähnliches Muster, das wir in Beispiel 2 gesehen haben, aber eine Abkürzung zum Schreiben eines Codes zum Entfernen von Duplikaten. Beginnen Sie zunächst direkt mit der Auswahl des Spaltenbereichs, wie unten gezeigt. Wir haben das Limit bis zur 100. Zelle der Spalte A beibehalten, beginnend mit 1 gefolgt von einem Punkt (.)

Code:

 Sub VBARemoveDuplicate3 () Range ("A1: A100"). End Sub 

Schritt 3: Wählen Sie nun den Befehl RemoveDuplicates aus (siehe unten).

Code:

 Sub VBARemoveDuplicate3 () - Bereich ("A1: A100") RemoveDuplicates End Sub 

Schritt 4: Wählen Sie nun die Spalten A wie mit dem Befehl Spalten mit der Reihenfolge 1 aus. Anschließend fügen Sie die Überschrift der ausgewählten Spalten hinzu, wie unten gezeigt.

Code:

 Sub VBARemoveDuplicate3 () Range ("A1: A100") RemoveDuplicates Columns: = 1, Header: = xlYes End Sub 

Schritt 5: Kompilieren Sie es jetzt, indem Sie die Taste F8 drücken und ausführen. Wir werden sehen, dass unser Code die doppelten Zahlen aus den Spalten A entfernt hat und nur eindeutige Werte enthalten sind.

Vorteile von VBA Duplikate entfernen

  • Dies ist nützlich, um die Duplikate in einem beliebigen Zellbereich schnell zu entfernen.
  • Es ist leicht zu implementieren.
  • Wenn Sie mit großen Datenmengen arbeiten, wird es schwierig, das Duplikat manuell zu entfernen, und die Dateien hängen, und VBA Remove Duplicates (Duplikate entfernen) arbeitet in einer Sekunde, um uns die eindeutigen Werte zu geben.

Nachteile von VBA Duplikate entfernen

  • Es ist nicht vorteilhaft, VBA-Duplikate entfernen für sehr kleine Daten zu verwenden, da dies mit der Funktion "Duplikate entfernen" in der Menüleiste "Daten" problemlos möglich ist.

Dinge, an die man sich erinnern sollte

  • Der Bereich kann auf zwei Arten ausgewählt werden. Sobald es ausgewählt ist, wählt die Grenze der Zellen wie in Beispiel-1 gezeigt und andere die vollständige Spalte bis zum Ende wie in Beispiel-1 gezeigt.
  • Stellen Sie sicher, dass die Datei in Excel mit Makros gespeichert ist, damit wir den geschriebenen Code mehrmals verwenden können, ohne ihn zu verlieren.
  • Sie können den Wert der Funktion "Header" auf " Ja" setzen, da auch der Header gezählt wird, während die doppelten Werte entfernt werden. Wenn es keinen doppelten Wert mit dem Namen des Headernamens gibt, schadet es nichts, ihn als Nein zu belassen.

Empfohlene Artikel

Dies war eine Anleitung zum Entfernen von VBA-Duplikaten. Hier haben wir die Verwendung von Excel VBA Remove Duplicates zusammen mit praktischen Beispielen und einer herunterladbaren Excel-Vorlage besprochen. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. Arbeiten mit VBA Active Cell
  2. Zeile in VBA löschen
  3. Wie verwende ich Excel VBA Transpose?
  4. Wie 1004 Fehler mit VBA zu beheben

Kategorie: