Excel - Sammenlign to kolonner og slett duplikater

Matematiske eller logiske operasjoner kan ikke gjøres manuelt på Excel regneark som inneholder store mengder data, som det ville ta for lang tid. Men Excel er et effektivt kontorprogramvare som lar data bli automatisk manipulert, gjennom en makro eller en VBA-programkode. For å sammenligne to kolonner og slette duplikater i Excel, kan en makro skrives for å lage en logisk eller matematisk sammenligning av kolonnene og fjern radene som inneholder dupliserte data. En velskrevet Excel-makro kan utføre oppgaven raskt og nøyaktig. Det er enkelt å sammenligne to kolonner og slette duplikater i Excel.

  • Utgave
  • Løsning
  • Merk

Utgave

Jeg trenger en makro for et Excel-regneark som vil sammenligne linjer basert på to celler, og finne duplikater.

I dette eksemplet er de to første kolonnene - A og B - de som må være unike. Makroen bør bare flagge rader som passer perfekt i begge kolonnene. Så i dette eksemplet skal bare femte rad bli flagget opp, da det er en eksakt kamp for den ene over.

Eksempel:

 Col A Col B Col C Col D 00001 AAAA1 xxxx yyyy 00001 BBBB1 xxxx xxxx 00001 BBBB2 yyyy yyyy 00002 AAAA1 yyyy xxxx 00002 AAAA1 yyyy xxxx 00003 AAAA1 xxxx yyyy 

Løsning

Denne løsningen vil endre dataene i regnearket ditt, så sørg for at du lagrer en sikkerhetskopi.

For det første må du kombinere dataene i kolonne A og B slik at de kan sammenlignes som en helhet. For å gjøre dette, skriv inn en tom celle ved slutten av den første raden med data (i dette eksemplet bruker vi rad 2 - endre etter behov):

 = A2-B2 

Kopier denne formelen ned for hele regnearket.

Kjør nå makroen. I denne prøvekoden antas det at du skrev formelen ovenfor i kolonne E. Endre koden etter behov.

Advarsel: Denne makroen vil slette rader, så det er viktig å sørge for at du har laget din sikkerhetskopi kopi før du tester den.

 Subtekst () Dim j Som helhet, k Som helhet, r Som rekkevidde j = Område ("E2"). End (xlDown) .Row For k = j Til 2 trinn -1 MsgBox k Sett r = Range (Cells, "E"), Celler (k, "E"). End (xlUp)) Hvis WorksheetFunction.CountIf (r, Celler (k, "E")) 1 Så Celler (k, "E"). Slett slutt hvis neste k End Sub 

Merk

Takk til venkat1926 for dette tipset på forumet.

Forrige Artikkel Neste Artikkel

Beste Tips