Hur man tar bort dubbletter i Excel med VBA (3 snabba metoder)

  • Dela Detta
Hugh West

En av de viktigaste aktiviteterna i Excel är att ta bort dubbletter Idag ska jag visa hur man tar bort dubbletter i Excel med hjälp av VBA.

Ladda ner övningsboken

Ta bort dubbletter i Excel med VBA.xlsm

3 snabba metoder för att använda VBA i Excel för att ta bort dubbletter

Här har vi en datamängd med Namn, ID:n, Märken, och Årskurserna i undersökningen av några elever på en skola som heter Sunflower Kindergarten.

Om du tittar noga kommer du att upptäcka att vissa namn har upprepats av misstag.

Idag är vårt mål att ta bort dubbla värden med hjälp av Excel VBA.

1. Använd VBA för att ta bort dubbletter från ett fast cellområde

Först och främst kommer vi att försöka ta bort dubbla namn använda ett fast cellområde i VBA kod.

Här är vårt datamaterial intervallet B3:E15 i arbetsboken (inklusive Kolumnrubriker ).

Vi kommer att använda detta fasta cellintervall i koden här.

Steg 1:

➤ Öppna en ny VBA och infoga en ny modul (Klicka här för att se hur man öppnar och infogar en ny VBA-modul i Excel).

➤ Sätt in den här koden i modulen:

Kod:

 Sub Remove_Duplicates() Range("A3:E14").RemoveDuplicates Columns:=1, Header:=xlYes End Sub 

➤ Den producerar en makro som heter Ta bort duplikat . A3:E14 är intervallet för min datamängd, och jag vill ta bort dubbla rader på grundval av Kolumn 1 Du använder din egen.

Steg 2:

➤ Kom tillbaka till arbetsbladet och kör makron (klicka här för att se hur du kör makron).

➤ Den tar bort rader med dubbletter i kolumn 1 ( Elevens namn).

Läs mer: Hur du tar bort dubbletter i Excel men behåller en (7 metoder)

2. Infoga VBA-koder för att ta bort dubbletter från valt cellområde

Nu ska vi försöka bygga ett makro som kan ta bort dubbletter från alla valda cellområden i arbetsbladet.

Steg 1:

➤ Öppna en ny VBA igen och lägg in ytterligare en ny modul.

➤ Sätt in den här koden i modulen:

Kod:

 Sub Remove_Duplicates() Dim Rng As Range Set Rng = Selection Rng.RemoveDuplicates Columns:=1, Header:=xlYes End Sub 

➤ Den producerar en makro som heter Ta bort duplikat . Jag vill ta bort dubbla rader baserat på Kolumn 1 Du använder din egen.

Steg 2:

➤ Kom tillbaka till arbetsbladet.

➤ Välj din datauppsättning och kör det här makrot.

➤ Det kommer att utföra samma sak som ovan. Ta bort raderna med dubbletter i kolumn 1 ( Elevens namn).

Läs mer: Ta bort dubbla rader i Excel (3 sätt)

Liknande läsningar

  • Hur man tar bort dubbletter från kolumnen i Excel (3 metoder)
  • Excel VBA: Ta bort dubbletter från en matris (2 exempel)
  • Ta bort dubbletter och behåll det första värdet i Excel (5 metoder)
  • Ta bort dubbla rader utom vid första förekomsten i Excel (7 sätt)
  • Ta bort båda dubbletter i Excel (5 enkla sätt)

3. Bädda in en VBA-makro för att ta bort dubbletter från flera kolumner

Hittills har vi tagit bort de rader som har dubbletter i kolumn 1 ( Elevens namn ).

Men det är faktiskt så att två elevers namn kan vara samma, det betyder inte alltid att det har lagts till felaktigt om två namn är samma.

Men om två elevers ID:n också är samma, är de samma elev och raden ska tas bort.

Den här gången ska vi utveckla en makro som tar bort raden om både namn och ID för två rader är desamma.

Steg 1:

➤ Öppna en ny VBA igen och lägg in ytterligare en ny modul.

➤ Sätt in den här koden i modulen:

Kod:

 Sub Remove_Duplicates() Dim Rng As Range Set Rng = Selection Rng.RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes End Sub 

➤ Den producerar en makro som heter Ta bort duplikat . Jag vill ta bort dubbla rader baserat på Kolumn 1 och 2 (namn och ID) Du använder din egen.

Steg 2:

➤ Kom tillbaka till arbetsbladet.

➤ Välj din datauppsättning och kör det här makrot.

➤ Den här gången tas raderna bort endast om både namnet och student-ID:t är desamma.

Observera: Här har den inte tagit bort Jennifer Marlo eftersom de två eleverna har olika ID, dvs. de är två olika elever.

Läs mer: Excel VBA: Ta bort dubbletter genom att jämföra flera kolumner (3 exempel)

Slutsats

Med dessa metoder kan du ta bort dubbletter från en datamängd i Excel med hjälp av VBA. Har du några problem? Fråga oss gärna.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.