VBA Fjern duplikater

Excel har en funktion, der bruges til at fjerne duplikatværdierne fra de valgte celler, rækker eller tabel. Hvad hvis denne proces vi automatiserer i VBA? Ja, processen med at fjerne duplikatet kan automatiseres i VBA i en form for makro. I processen med at fjerne duplikatet, når de først er afsluttet, forbliver de unikke værdier på listen eller tabellen. Dette kan ske ved hjælp af funktionen Fjern duplikater i VBA.

Sådan bruges Excel VBA Fjern duplikater?

Vi lærer, hvordan man bruger VBA Fjern duplikater med få eksempler i Excel.

Du kan downloade denne VBA Fjern duplikater Excel-skabelon her - VBA Fjern duplikater Excel-skabelon

Eksempel 1 - VBA Fjern duplikater

Vi har en liste over numre, der starter fra 1 til 5 indtil række 20 i kolonne A. Som vi kan se på nedenstående skærmbillede, gentages alle numrene flere gange.

Nu er vores job at fjerne duplikatet fra listen af ​​VBA. Gå hertil til VBA-vinduet ved at trykke på F11-tasten.

I dette eksempel vil vi se, grundlæggende brug af, hvordan VBA Fjern duplikater kan arbejde for tal. Til dette har vi brug for et modul.

Trin 1: Åbn et nyt modul fra menuen Indsæt, der er under fanen Indsæt menu.

Trin 2: Når det er åbent, skriv underkategorien til VBA Fjern duplikat som vist nedenfor.

Kode:

 Sub VBARemoveDuplicate1 () End Sub 

Trin 3: I processen med at fjerne duplikatet skal vi først vælge dataene. Til dette vil vi i VBA vælge funktion, indtil den går ned for at vælge den komplette dataliste som vist nedenfor.

Kode:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Vælg End Sub 

Trin 4: Nu vælger vi området for valgte celler eller kolonner A. Det vil gå ned, indtil vi har dataene i en bestemt kolonne. Ikke kun indtil række 20.

Kode:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Vælg Range (Selection, Selection.End (xlUp)). Vælg End Sub 

Trin 5: Vælg nu cellernes rækkevidde på et aktuelt åbnet ark som vist nedenfor. Dette aktiverer den komplette kolonne. Vi har valgt kolonne A indtil slutningen.

Kode:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Vælg Range (Selection, Selection.End (xlUp)). Vælg ActiveSheet.Range ("A: A"). Afslut under 

Trin 6: Brug nu RemoveDuplicate-funktionen her. Dette aktiverer kommandoen for at fjerne duplikatværdierne fra rækkefølgen af ​​kolonnerne 1. Hvis der er flere kolonner, tilføjes nummeret og adskilles med kommaer i parenteserne som (1, 2, 3, …).

Kode:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Vælg Range (Selection, Selection.End (xlUp)). Vælg ActiveSheet.Range ("A: A"). FjernDuplicates Columns: = 1, End Sub 

Trin 7: Nu bruger vi kommandoen Header, der flytter markøren til den øverste celle på arket, som for det meste er i overskriften på en hvilken som helst tabel.

Kode:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Vælg Range (Selection, Selection.End (xlUp)). Vælg ActiveSheet.Range ("A: A"). FjernDuplicates Columns: = 1, Header: = xlYes End Sub 

Trin 8: Kompilér nu kodetrinnene ved at trykke på F8-tasten. Når det er gjort, skal du klikke på knappen Play for at køre til kode som vist nedenfor.

Som vi kan se, slettes duplikatnummeret fra kolonne A, og det eneste et unikt antal er tilbage.

Eksempel 2 - VBA Fjern duplikater

I dette eksempel vil vi se, hvordan du fjerner duplikatværdier fra mere end en kolonne. Til dette overvejer vi den samme duplikatliste, der blev brugt i eksempel-1. Men på en ny måde har vi tilføjet 2 yderligere kolonner med de samme værdier som vist nedenfor.

Dette er en anden metode med en lidt anden type kodestruktur.

Trin 1: Åbn et nyt modul i VBA og skriv underkategorien i VBA Fjern duplikatet. Hvis det er muligt, skal du give det et sekvensnummer, så det er bedre at vælge den rigtige kode, der skal køres.

Kode:

 Sub VBARemoveDuplicate2 () End Sub 

Trin 2: Vælg først det komplette ark i VBA som vist nedenfor.

Kode:

 Sub VBARemoveDuplicate2 () Cells.Select End Sub 

Trin 3: Vælg nu det aktuelt åbne ark med ActiveSheet-kommando, og vælg kolonner A til C som vist nedenfor.

Kode:

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

Trin 4: Vælg nu kommandoen FjernDuplikater, og vælg derefter kolonnearray fra 1 til 3 som vist nedenfor.

Kode:

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

Trin 5: Ved sidst brug skal kommandoen Header inkluderes i processen med at fjerne duplikater som xlYes som vist nedenfor.

Kode:

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

Trin 6: Kompilér nu den komplette kode og kør. Som vi kan se nedenfor, er det komplette ark valgt, men duplikatværdierne fjernes fra kolonner A, B og C, idet de kun holder unikt antal.

Eksempel # 3 - VBA Fjern duplikater

Dette er en anden metode til at fjerne duplikat, som er den enkleste måde at fjerne duplikat i VBA. Til dette vil vi bruge de data, som vi så i eksempel-1 og også vist nedenfor.

Trin 1: Nu skal du gå til VBA og skrive underkategori igen af ​​VBA Fjern duplikater. Vi har givet sekvensen til hver kode, vi viste, for at have et korrekt spor.

Kode:

 Sub VBARemoveDuplicate3 () End Sub 

Trin 2: Dette er et ganske lignende mønster, som vi har set i eksempel-2, men en genvejsmåde til at skrive en kode til fjernelse af duplikat. For dette første start direkte med at vælge kolonneområdet som vist nedenfor. Vi har holdt grænsen indtil 100. celle i søjle A startende fra 1 efterfulgt af en prik (.)

Kode:

 Sub VBARemoveDuplicate3 () Range ("A1: A100"). Afslut under 

Trin 3: Vælg nu kommandoen FjernDuplikater som vist nedenfor.

Kode:

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

Trin 4: Vælg nu kolonnerne A som med kommandoen Kolonner med sekvensen af ​​1. Og derefter inkluderer overskriften på de valgte kolonner såvel som vist nedenfor.

Kode:

 Sub VBARemoveDuplicate3 () Range ("A1: A100"). FjernDuplicates Kolonner: = 1, Header: = xlYes End Sub 

Trin 5: Kompilér den nu ved at trykke på F8-tasten og køre. Vi vil se, at vores kode har fjernet duplikatnumrene fra kolonner A, og at der kun er unikke værdier.

Fordele ved VBA Fjern duplikater

  • Det er nyttigt til hurtigt at fjerne duplikaterne i alle celler.
  • Det er let at implementere.
  • Når man arbejder med et enormt datasæt, hvor det bliver vanskeligt manuelt at fjerne duplikatet manuelt, og det hænger filerne, og VBA Remove Duplicates fungerer på et sekund for at give os de unikke værdier.

Ulemper ved VBA Fjern duplikater

  • Det er ikke fordelagtigt at bruge VBA Fjern duplikater til meget små data, da det let kunne gøres med funktionen Fjern duplikat, der er tilgængelig i menulinjen Data.

Ting at huske

  • Område kan vælges på to måder. Når den først er valgt, er grænsen for celler som vist i eksempel-1 og anden valg af den komplette kolonne indtil slutningen som vist i eksempel-1.
  • Sørg for, at filen gemmes i makroaktiveret Excel, hvilket giver os mulighed for at bruge den skrevne kode flere gange uden at miste den.
  • Du kan beholde værdien af ​​funktionen Header som Ja, da den også tæller overskriften, mens du duplikerer værdierne. Hvis der ikke er nogen duplikatværdi med navnet på Headers-navn, vil det at holde det som Nej ikke skade noget.

Anbefalede artikler

Dette har været en guide til VBA Fjern duplikater. Her har vi drøftet, hvordan man bruger Excel VBA Fjern duplikater sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. Arbejder med VBA Active Cell
  2. Sletning af en række i VBA
  3. Sådan bruges Excel VBA-transponering?
  4. Sådan rettes 1004-fejl ved brug af VBA

Kategori: