Entfernen Sie Duplikate in Excel VBA - Einfache Excel-Makros

Inhaltsverzeichnis

Im Folgenden sehen wir uns ein Programm in an Excel VBA das entfernt Duplikate.

Lage:

In Spalte A haben wir 10 Zahlen. Wir möchten die Duplikate dieser Nummern entfernen und die eindeutigen Nummern in Spalte B platzieren.

1. Zuerst deklarieren wir vier Variablen. toAdd vom Typ Boolean, uniqueNumbers vom Typ Integer, i vom Typ Integer und j vom Typ Integer.

Dim toAdd As Boolean, uniqueNumbers As Integer, i As Integer, j As Integer

2. Als nächstes schreiben wir die erste Zahl von Spalte A in Spalte B, da die erste Zahl immer 'eindeutig' ist.

Zellen(1, 2).Wert = Zellen(1, 1).Wert

3. Wir initialisieren zwei Variablen. Wir haben gerade eine Zahl zu Spalte B hinzugefügt, also initialisieren wir uniqueNumbers mit dem Wert 1. Wir setzen toAdd auf True unter der Annahme, dass auch die nächste Zahl hinzugefügt werden muss (dies ist natürlich nicht unbedingt der Fall).

uniqueNumbers = 1
toAdd = True

Wir müssen feststellen, ob die zweite Zahl „eindeutig“ ist oder nicht. Dies kann auf sehr einfache Weise erfolgen. Nur wenn die Nummer nicht bereits in Spalte B steht, muss die zweite Nummer in Spalte B hinzugefügt werden.

4. Wir müssen dies auch für die dritte Zahl, die vierte Zahl usw. überprüfen. Dazu starten wir eine For Next-Schleife.

Für i = 2 bis 10

5. Jetzt kommt der wichtigste Teil des Programms. Wenn die zweite Zahl gleich einer der Zahlen in Spalte B ist (bisher haben wir nur eine eindeutige Zahl), setzen wir toAdd auf False, da wir in diesem Fall diese Zahl nicht hinzufügen möchten! (es ist nicht 'einzigartig'). Im Moment ist uniqueNumbers noch gleich 1, aber uniqueNumbers kann eine ganze Liste sein. Um diese ganze Liste zu überprüfen, benötigen wir eine weitere For Next-Schleife. Nochmals: Wenn die Nummer, die wir hinzufügen möchten, einer der Nummern in dieser Liste entspricht, wird toAdd auf False gesetzt und die Nummer wird nicht hinzugefügt. Fügen Sie die folgenden Codezeilen hinzu:

Für j = 1 Zu uniqueNumbers
Wenn Zellen(i, 1).Wert = Zellen(j, 2).Wert Dann
toAdd = False
Ende Wenn
Nächstes j

6. Nur wenn toAdd immer noch True und nicht auf False gesetzt ist, muss Excel VBA die Zahl zu Spalte B hinzufügen. Gleichzeitig erhöhen wir uniqueNumbers um 1, da wir jetzt eine eindeutige Zahl mehr haben. Die folgenden Codezeilen erledigen die Arbeit:

If toAdd = True Then
Zellen(eindeutigeZahlen + 1, 2).Wert = Zellen(i, 1).Wert
uniqueNumbers = uniqueNumbers + 1
Ende Wenn

7. Schließlich setzen wir toAdd auf True, vorausgesetzt, die nächste Zahl (dritte Zahl) muss hinzugefügt werden. Auch dies ist nicht unbedingt wahr.

toAdd = True

8. Vergessen Sie nicht, die Schleife zu schließen.

Als nächstes

9. Platzieren Sie Ihr Makro in einer Befehlsschaltfläche und testen Sie es.

Ergebnis:

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave