Duplikate in VBA entfernen

Iqra Hasnain 15 Februar 2024
  1. Duplikate in VBA entfernen
  2. Entfernen doppelter Spalten in VBA
Duplikate in VBA entfernen

Wir werden anhand von Beispielen vorstellen, wie Duplikate in VBA entfernt werden.

Duplikate in VBA entfernen

Wenn Sie mit Excel-Tabellen mit Massendaten arbeiten, besteht die Möglichkeit, dass diese Daten einige Duplikate enthalten. Es ist wichtig, alle Duplikate zu entfernen, um falsche Berechnungen zu vermeiden. Dazu müssen wir zunächst unsere Daten bereinigen und die Duplikate entfernen. VBA bietet eine einfache Funktion RemoveDuplicates, die für diesen Zweck verwendet werden kann.

Wir müssen zuerst den Bereich auswählen, in dem unsere Daten liegen, und dann werden wir die Funktion RemoveDuplicates auf diesen Bereich anwenden. Wir müssen auch definieren, wie viele Spalten auf Duplikate überprüft werden müssen. Wenn wir Header in Reichweite haben, müssen wir den Header auch als Ja markieren. Lassen Sie uns ein Beispiel durchgehen und diese Funktion verwenden. Zunächst erstellen wir Demodaten wie unten gezeigt.

Demodaten zum Entfernen von Duplikaten in VBA

Lassen Sie uns die Funktion RemoveDuplicates verwenden, um die Duplikate zu entfernen.

Beispielcode:

# VBA
Sub duplicateRemover()
Range("A1:B*").RemoveDuplicates Columns:=1
End Sub

Ausgabe:

Demodaten nach dem Entfernen von Duplikaten in VBA

Die Methode RemoveDuplicates wird auf einen Bereich angewendet. Wenn Duplikate gefunden werden, können wir jede Zeile entfernen, aber die ursprüngliche Zeile mit allen Werten beibehalten.

Die Methode RemoveDuplicates funktioniert nur auf Spalten, nicht auf Zeilen.

Entfernen doppelter Spalten in VBA

Beim Entfernen von Duplikaten kann es gefährlich sein, Duplikate zu entfernen, indem nur Daten aus einer Spalte aufgenommen werden. Die in einer Spalte duplizierten Daten können in der nächsten etwas anderes aufweisen, wodurch sie zu einem eindeutigen Element anstelle eines Duplikats werden.

Wir können problemlos mehrere Spalten in der RemoveDuplicates-Methode vergleichen, indem wir mehrere Spalten durch ein Array leiten, wie unten gezeigt.

Demodaten zum Vergleichen mehrerer Spalten in der RemoveDuplcate-Methode

Beispielcode:

# Vba
Sub duplicateRemover()
ActiveSheet.UsedRange.RemoveDuplicates Columns:=Array(1, 2)
End Sub

Ausgabe:

Demodaten nach dem Vergleich mehrerer Spalten in der RemoveDuplcate-Methode

Als wir beide Spalten verglichen haben, wurden nur die Spalten entfernt, die Duplikate basierend auf beiden Spalten hatten, nicht nur eine. Es ist nicht erforderlich, Spalten immer in der richtigen Reihenfolge bereitzustellen, wir können Spalten, die wir vergleichen möchten, in beliebiger Reihenfolge senden, und wir können sogar die Spalten 1 und 5 verwenden.