Primerjajte 2 stolpca prek VBA v programu Microsoft Excel

Anonim

Če se sprašujete, kako primerjati 2 stolpca podatkov z milijonskimi vrsticami in izvleči edinstvene vrednosti med obema stolpcema, potem preberite ta članek. Kodo VBA bomo uporabili za primerjavo dveh stolpcev podatkov in prikazali razliko v naslednjih dveh stolpcih.

Vprašanje: V stolpcih A in B. obstaja več vrednosti. Želim, da makro preveri več kot 40 k vrstic podatkov v obeh stolpcih in nato izvleče seznam edinstvenih vnosov iz vsakega stolpca v naslednji stolpec, tj. Stolpec C & D oz. V tem primeru jemljem le 40 vrstic vzorčnih podatkov.

Izvirno vprašanje najdete tukaj
Sledi posnetek podatkov:

Za primerjavo seznama dveh stolpcev moramo za zagon urejevalnika VB slediti spodnjim korakom:

  • Kliknite zavihek Razvijalec
  • V skupini Koda izberite Visual Basic

  • Kopirajte spodnjo kodo v standardni modul
 Sub PullUniques () Zatemni rngCell kot obseg za vsako rngCell v razponu ("A2: A40") Če WorksheetFunction.CountIf (Range ("B2: B40"), rngCell) = 0 Potem Range ("C" & Rows.Count). End (xlUp) .Offset (1) = rngCell End If Next za vsako rngCell v razponu ("B2: B40") Če WorksheetFunction.CountIf (Range ("A2: A40"), rngCell) = 0 Potem Range ("D" & Rows.Count) .End (xlUp) .Offset (1) = rngCell End If Next End Sub 

  • Zgornji makro je nastavljen za zagon; ali lahko pritisnemo tipko F5 -če ste trenutno na zaslonu urejevalnika Visual Basic -ali lahko uporabimo bližnjice »ALT + F8«, izberite svoj makro in kliknite gumb za zagon

  • Edinstven seznam iz stolpcev A & B bo samodejno ustvarjen v stolpcih C & D

Koda Pojasnilo:

V zgornji kodi bomo za rezultat dobili funkcijo IF skupaj z zanko For.

  • Dim rngCell razglasimo za območje; Namen razglasitve rngCell za območje je, da želimo vzorčnemu območju "A2: A40" dodeliti posebno ime, tj. "rngCell" v našem primeru
  • Za vsako celico rngCell v dosegu ("A2: A40"); bomo preverili vsako celico v "rngCell" s pogojem
  • Če je WorksheetFunction.CountIf (Range ("B2: B40"), rngCell) = 0 Potem; ta vrstica kode uporablja funkcijo COUNTIF VBA za preverjanje merilnega območja B2: B40 s kriteriji rngCell je enako nič, nato pa se v stolpcu C shrani vrednost, shranjena v rngCell
  • Podobno bomo za vsak krog zagnali stolpec B in izvlekli edinstvene vrednosti v stolpec D

Zaključek: Iz vsakega stolpca lahko dobimo edinstven seznam besedila ali vrednosti; ime glave stolpca C (rezultati - obstaja na seznamu 1, ne pa na seznamu 2) & stolpec D (rezultati - obstaja na seznamu 2, ne pa na seznamu 1). Če imamo podobne zahteve, vendar je število stolpcev več kot dva, moramo kodo prilagoditi, da dobimo rezultat.

Če so vam bili naši blogi všeč, jih delite s prijatelji na Facebooku. Prav tako nas lahko spremljate na Twitterju in Facebooku.
Radi bi slišali od vas, nam sporočite, kako lahko izboljšamo, dopolnimo ali inoviramo svoje delo in ga izboljšamo. Pišite nam na e -poštno mesto