VBA Ta bort dubbletter

Excel har en funktion som används för att ta bort duplikatvärdena från de valda cellerna, raderna eller tabellen. Tänk om den här processen vi automatiserar i VBA? Ja, processen för att ta bort duplikatet kan automatiseras i VBA i form av makro. I processen att ta bort duplikatet, kvarstår de unika värdena i listan eller tabellen när den är klar. Detta kan ske med hjälp av funktionen Ta bort dubbletter i VBA.

Hur använder jag Excel VBA Ta bort duplikat?

Vi kommer att lära dig att använda en VBA Ta bort duplikat med några exempel i Excel.

Du kan ladda ner denna VBA Ta bort Duplicates Excel-mall här - VBA Ta bort Duplicates Excel-mall

Exempel 1 - VBA Ta bort duplikat

Vi har en lista med siffror från 1 till 5 till rad 20 endast i kolumn A. Som vi kan se på skärmbilden nedan upprepas alla siffror flera gånger.

Nu är vårt jobb att ta bort duplikatet från listan av VBA. Gå till VBA-fönstret genom att trycka på F11-tangenten.

I det här exemplet kommer vi att se grundläggande användning av hur VBA Remove Duplicates kan fungera för siffror. För detta behöver vi en modul.

Steg 1: Öppna en ny modul från Infoga-menyn som finns på menyn Fliken Infoga.

Steg 2: När den är öppen skriver du underkategorin för VBA Ta bort duplikat som visas nedan.

Koda:

 Sub VBARemoveDuplicate1 () End Sub 

Steg 3: I processen att ta bort duplikatet måste vi först välja data. För detta kommer vi i VBA att välja funktion tills den går ner för att välja komplett datalista som visas nedan.

Koda:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Välj End Sub 

Steg 4: Nu kommer vi att välja området för utvalda celler eller kolumner A. Det kommer att gå ner tills vi har data i en viss kolumn. Inte bara till rad 20.

Koda:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown). Välj Range (Selection, Selection.End (xlUp)). Välj Avsluta sub 

Steg 5: Välj nu cellintervallet i ett för närvarande öppnat ark som visas nedan. Detta aktiverar hela kolumnen. Vi har valt kolumn A till slutet.

Koda:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown). Select Range (Selection, Selection.End (xlUp)). Välj ActiveSheet.Range ("A: A"). Avsluta under 

Steg 6: Använd nu funktionen RemoveDuplicate här. Detta aktiverar kommandot för att ta bort duplikatvärdena från kolumnens sekvens. Om det finns fler kolumner läggs numret till och separeras med kommatecken inom parentes som (1, 2, 3, …).

Koda:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown). Select Range (Selection, Selection.End (xlUp)). Välj ActiveSheet.Range ("A: A"). RemoveDuplicates Column: = 1, End Sub 

Steg 7: Nu kommer vi att använda kommandot Header som kommer att flytta markören till den översta cellen i arket, som oftast finns i rubriken i vilken tabell som helst.

Koda:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown). Select Range (Selection, Selection.End (xlUp)). Välj ActiveSheet.Range ("A: A"). RemoveDuplicates Column: = 1, Header: = xlYes End Sub 

Steg 8: Sätt nu kodstegen genom att trycka på F8-tangenten. När du är klar klickar du på knappen Spela för att köra till koden som visas nedan.

Som vi ser raderas duplikatnumret från kolumn A och det enda unika antalet är kvar.

Exempel 2 - VBA Ta bort duplikat

I det här exemplet ser vi hur man tar bort duplicerade värden från mer än en kolumn. För detta kommer vi att överväga samma duplikatlista som används i exempel-1. Men på ett nytt sätt har vi lagt till ytterligare två kolumner med samma värden som visas nedan.

Detta är en annan metod med lite annorlunda kodstruktur.

Steg 1: Öppna en ny modul i VBA och skriv underkategorin i VBA Ta bort duplikatet. Om det är möjligt, ge det ett sekvensnummer så att det är bättre att välja rätt kod att köra.

Koda:

 Sub VBARemoveDuplicate2 () End Sub 

Steg 2: Välj först det kompletta arket i VBA som visas nedan.

Koda:

 Sub VBARemoveDuplicate2 () Cells.Select End Sub 

Steg 3: Välj nu det nu öppnade arket med ActiveSheet-kommando och välj kolumnerna A till C som visas nedan.

Koda:

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

Steg 4: Välj nu kommandot RemoveDuplicates och välj sedan kolumnarray från 1 till 3 som visas nedan.

Koda:

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

Steg 5: Vid sist användning, Header-kommandot som ska inkluderas i processen att ta bort dubbletter som xlYes som visas nedan.

Koda:

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

Steg 6: Sätt nu samman hela koden och kör. Som vi kan se nedan väljs hela arket men duplikatvärdena tas bort från kolumnerna A, B och C, vilket bara håller unikt antal.

Exempel 3 - VBA Ta bort duplikat

Detta är en annan metod för att ta bort duplikat, vilket är det enklaste sättet att ta bort duplikat i VBA. För detta kommer vi att använda de data som vi såg i exempel-1 och också visas nedan.

Steg 1: Gå nu till VBA och skriva underkategori igen för VBA Ta bort duplikat. Vi har gett sekvensen till varje kod vi visade för att ha ett korrekt spår.

Koda:

 Sub VBARemoveDuplicate3 () End Sub 

Steg 2: Detta är ett ganska liknande mönster som vi har sett i exempel-2 men ett genvägssätt för att skriva en kod för att ta bort duplikat. För det första börjar du direkt välja kolumnintervallet som visas nedan. Vi har hållit gränsen till 100: e cell i kolumn A med början från 1 följt av en punkt (.)

Koda:

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

Steg 3: Välj nu kommandot RemoveDuplicates som visas nedan.

Koda:

 Sub VBARemoveDuplicate3 () Range ("A1: A100"). Ta bortDuplicates End Sub 

Steg 4: Välj nu kolumnerna A som med kommandot Kolumner med sekvensen 1. Och därefter inkluderar rubriken för valda kolumner såväl som visas nedan.

Koda:

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

Steg 5: Sätt nu samman den genom att trycka på F8-tangenten och kör. Vi ser att vår kod har tagit bort duplikatnumren från kolumnerna A och endast unika värden uppnås.

Fördelar med VBA Ta bort dubbletter

  • Det är användbart för att snabbt ta bort dubbletterna i alla celler.
  • Det är lätt att implementera.
  • När du arbetar med enorma datauppsättningar, där att ta bort duplikatet blir svårt manuellt och det hänger filerna och VBA Remove Duplicates fungerar på en sekund för att ge oss de unika värdena.

Nackdelar med VBA Ta bort dubbletter

  • Det är inte fördelaktigt att använda VBA Ta bort duplikat för mycket små data, eftersom det enkelt kan göras med funktionen Ta bort duplikat som finns i menyfältet Data.

Saker att komma ihåg

  • Område kan väljas på två sätt. När det väl är valt gränsen för celler som visas i exempel-1 och andra är att välja hela kolumnen till slutet som visas i exempel-1.
  • Se till att filen är sparad i Macro-Enabled Excel vilket gör att vi kan använda den skrivna koden flera gånger utan att förlora den.
  • Du kan behålla värdet på funktionen Header som Ja, eftersom den också räknar rubriken medan du tar bort duplikatvärdena. Om det inte finns något duplikatvärde med namnet på Headers-namnet, kommer att hålla det som Nej inte att skada någonting.

Rekommenderade artiklar

Detta har varit en guide till VBA Ta bort duplikat. Här har vi diskuterat hur du använder Excel VBA Remove Duplicates tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Arbetar med VBA Active Cell
  2. Radera en rad i VBA
  3. Hur använder jag Excel VBA-transponering?
  4. Hur du åtgärdar 1004-fel vid användning av VBA

Kategori: