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.
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:
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.
Beispielcode:
# Vba
Sub duplicateRemover()
ActiveSheet.UsedRange.RemoveDuplicates Columns:=Array(1, 2)
End Sub
Ausgabe:
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.