Excel - Sammenlign to kolonner og slet duplikater

Matematiske eller logiske operationer kan ikke gøres manuelt på Excel-regneark, der indeholder store mængder data, da det ville tage for lang tid. Men Excel er et effektivt kontorsoftwareprogram, der gør det muligt at manipulere data automatisk via en makro eller en VBA-programkode. For at sammenligne to kolonner og slette dubletter i Excel kan en makro skrives for at lave en logisk eller matematisk sammenligning af kolonnerne og fjern rækkerne indeholdende dublet data. En velskrevet Excel-makro kan udføre opgaven hurtigt og præcist. Det er nemt at sammenligne to kolonner og slette dubletter i Excel.

  • Problem
  • Opløsning
  • Bemærk

Problem

Jeg har brug for en makro til et Excel-regneark, der sammenligner linjer baseret på to celler, og finder eventuelle dubletter.

I dette eksempel er de første to kolonner - A og B - dem der skal være unikke. Makroen bør kun markere rækker, som er et perfekt match i begge kolonner. Så i dette eksempel skal kun den femte række markeres, da det er et præcist match for den ovenstående.

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 

Opløsning

Denne løsning vil ændre dataene i dit regneark, så sørg for at gemme en sikkerhedskopi.

For det første skal du kombinere dataene i kolonne A og B, så de kan sammenlignes som helhed. For at gøre dette skal du skrive i en tom celle i slutningen af ​​den første række af data (i dette eksempel bruger vi række 2 - skift efter behov):

 = A2 & B2 

Kopier denne formel ned for hele regnearket.

Kør nu makroen nedenfor. I denne prøvekode antages det, at du skrev ovenstående formel i kolonne E. Ændre koden efter behov.

Advarsel: Denne makro sletter rækker, så det er vigtigt at sikre, at du har lavet din sikkerhedskopi kopi, før du tester den.

 Subtekst () Dim j Som helhed, k Som helhed, r Som rækkevidde j = Område ("E2"). Slut (xlDown) .Row For k = j Til 2 trin -1 MsgBox k Indstil r = Område (celler, "E"), Celler (k, "E"). Slut (xlUp)) Hvis WorksheetFunction.CountIf (r, Celler (k, "E")) 1 Så Celler (k, "E"). Slet Afslut, hvis Næste k Afslut Sub 

Bemærk

Tak til venkat1926 for dette tip på forummet.

Forrige Artikel Næste Artikel

Top Tips