V prípade, že vás zaujíma, ako porovnať 2 stĺpce údajov s miliónmi riadkov a extrahovať jedinečné hodnoty z oboch stĺpcov, mali by ste si prečítať tento článok. Na porovnanie dvoch stĺpcov údajov použijeme kód VBA a v nasledujúcich dvoch stĺpcoch ukážeme rozdiel.
Otázka: V stĺpcoch A a B. existuje niekoľko hodnôt. Chcem, aby makro skontrolovalo viac ako 40 000 riadkov údajov v oboch stĺpcoch a potom extrahovalo zoznam jedinečných záznamov z každého stĺpca do ďalšieho stĺpca, tj stĺpcov C & D v uvedenom poradí. V tomto prípade používam iba 40 riadkov vzorových údajov.
Pôvodnú otázku nájdete tu
Nasleduje prehľad údajov:
Ak chcete porovnať zoznam dvoch stĺpcov, na spustenie editora VB musíme vykonať nasledujúce kroky:
- Kliknite na kartu Vývojár
- Zo skupiny kódov vyberte Visual Basic
- Skopírujte nižšie uvedený kód do štandardného modulu
Sub PullUniques () Dim rngCell ako rozsah pre každý rngCell v rozsahu ("A2: A40") If WorksheetFunction.CountIf (Range ("B2: B40"), rngCell) = 0 Then Range ("C" & Rows.Count). End (xlUp). Offset (1) = rngCell End If Next pre každý rngCell v rozsahu ("B2: B40") If WorksheetFunction.CountIf (Range ("A2: A40"), rngCell) = 0 Then Range ("D" & Rows.Count). Koniec (xlUp). Offset (1) = rngCell End If Next End Sub
- Vyššie uvedené makro je nastavené na spustenie; buď môžeme stlačiť kláves F5 -ak sa práve nachádzate na obrazovke editora jazyka Visual Basic -alebo môžeme použiť klávesové skratky „ALT + F8“, vyberte makro a kliknite na tlačidlo Spustiť
- Jedinečný zoznam zo stĺpcov A a B sa automaticky vygeneruje v stĺpcoch C a D
Vysvetlenie kódu:
Vo vyššie uvedenom kóde použijeme na získanie výsledku funkciu IF spolu so slučkou For.
- Deklarujeme Dim rngCell ako rozsah; účelom deklarovania rngCell ako rozsahu je, že chceme priradiť vzorový rozsah „A2: A40“ s konkrétnym názvom, tj „rngCell“ v našom prípade
- Pre každý rngCell v rozsahu („A2: A40“); skontrolujeme každú bunku v „rngCell“ s podmienkou
- Ak WorksheetFunction.CountIf (rozsah ("B2: B40"), rngCell) = 0 Potom; tento riadok kódu používa funkciu COUNTIF VBA na kontrolu rozsahu kritérií B2: B40 s kritériami rngCell sa rovná nule, potom v stĺpci C sa uloží hodnota uložená v rngCell
- Podobne spustíme pre každú slučku pre stĺpec B a extrahujeme jedinečné hodnoty v stĺpci D
Záver: Z každého stĺpca môžeme získať jedinečný zoznam textu alebo hodnôt; názov hlavičky stĺpca C (Výsledky - existuje v zozname 1, ale nie v zozname 2) & stĺpci D (Výsledky - existuje v zozname 2, ale nie v zozname 1). V prípade, že máme podobnú požiadavku, ale počet stĺpcov je viac ako dva, musíme kód vyladiť, aby sme získali výsledok.
Ak sa vám páčili naše blogy, zdieľajte ich so svojimi priateľmi na Facebooku. A tiež nás môžete sledovať na Twitteri a Facebooku.
Radi by sme vás počuli, dajte nám vedieť, ako môžeme zlepšiť, doplniť alebo inovovať našu prácu a zlepšiť ju pre vás. Napíšte nám na e -mailová stránka