Verwijder duplicaten in Excel VBA - Eenvoudige Excel-macro's

Inhoudsopgave

Hieronder zullen we kijken naar een programma in Excel VBA Dat verwijdert duplicaten.

Situatie:

In kolom A hebben we 10 getallen. We willen de duplicaten van deze nummers verwijderen en de unieke nummers in kolom B plaatsen.

1. Eerst declareren we vier variabelen. toAdd van het type Boolean, uniqueNumbers van het type Integer, i van het type Integer en j van het type Integer.

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

2. Vervolgens schrijven we het eerste nummer van kolom A naar kolom B aangezien het eerste nummer altijd 'uniek' is.

Cellen (1, 2). Waarde = Cellen (1, 1). Waarde

3. We initialiseren twee variabelen. We hebben zojuist een getal toegevoegd aan kolom B, dus initialiseren we uniqueNumbers met de waarde 1. We stellen op Toevoegen aan Waar in de veronderstelling dat het volgende getal ook moet worden toegevoegd (dit hoeft natuurlijk niet waar te zijn).

unieke nummers = 1
toAdd = True

We moeten bepalen of het tweede nummer 'uniek' is of niet. Dit kan op een heel makkelijke manier. Alleen als het nummer nog niet in kolom B staat, moet het tweede nummer worden toegevoegd aan kolom B.

4. We moeten dit ook controleren voor het derde cijfer, het vierde cijfer, enzovoort. Hiervoor starten we een For Next-lus.

Voor i = 2 tot 10

5. Nu komt het belangrijkste deel van het programma. Als het tweede nummer gelijk is aan een van de nummers in kolom B (tot nu toe hebben we maar één uniek nummer), zetten we op Toevoegen aan False omdat we dit nummer in dit geval niet willen toevoegen! (het is niet 'uniek'). Op dit moment is uniqueNumbers nog steeds gelijk aan 1, maar uniqueNumbers kan een hele lijst zijn. Om deze hele lijst te controleren, hebben we nog een For Next-lus nodig. Nogmaals: als het nummer dat we willen toevoegen gelijk is aan een van de nummers in deze lijst, wordt toAdd ingesteld op False en wordt het nummer niet toegevoegd. Voeg de volgende coderegels toe:

Voor j = 1 Naar unieke nummers
Als Cellen (i, 1). Waarde = Cellen (j, 2). Waarde Dan
toAdd = False
Stop als
volgende j

6. Alleen als toAdd nog steeds True is en niet is ingesteld op False, moet Excel VBA het nummer toevoegen aan kolom B. Tegelijkertijd verhogen we uniqueNumbers met 1 omdat we nu één uniek nummer meer hebben. De volgende coderegels klaren de klus:

If toAdd = True Dan
Cellen (unieke nummers + 1, 2). Waarde = Cellen (i, 1). Waarde
uniqueNumbers = uniqueNumbers + 1
Stop als

7. Ten slotte stellen we in op Toevoegen aan True, ervan uitgaande dat het volgende getal (derde getal) moet worden toegevoegd. Nogmaals, dit is niet noodzakelijk waar.

toAdd = True

8. Vergeet niet de lus te sluiten.

volgende i

9. Plaats uw macro in een opdrachtknop en test deze.

Resultaat:

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave