Vracajte jedinečné položky pomocou jazyka VBA v programe Microsoft Excel

Obsah

V tomto článku vytvoríme makro na extrahovanie jedinečných hodnôt z definovaného rozsahu.

Surové údaje pre tento príklad pozostávajú z duplicitných záznamov názvov krajín v rozsahu A7: A21.

Vytvorili sme makro „FindUniqueValues“ na extrahovanie jedinečných hodnôt z definovaného rozsahu. Toto makro je možné spustiť kliknutím na tlačidlo „Odoslať“. Pred kliknutím na tlačidlo „Odoslať“ musíme zadať adresu rozsahu, ktorý obsahuje duplicitné údaje v bunke H9, a adresu cieľa, kde by sa mal výstup objaviť.

Logické vysvetlenie

Makro „FindUniqueValues“ používa ako vstupné parametre dva objekty rozsahu. Prvý parameter definuje rozsah, ktorý obsahuje duplicitné údaje, a druhý parameter definuje polohu počiatočnej bunky, ktorá bude obsahovať výstup. Toto makro nemožno volať priamo, pretože musíme špecifikovať parametre, takže sme vytvorili druhé makro „MacroRunning“ na vyvolanie makra.

Makro „MacroRunning“ volá makro „FindUniqueValues“ so zadaním parametra používateľom.

Vysvetlenie kódu

SourceRange.AdvancedFilter Akcia: = xlFilterCopy, _

CopyToRange: = TargetCell, jedinečný: = True

Metóda AdvancedFilter objektu Range sa používa na filtrovanie alebo kopírovanie údajov z rozsahu na základe určitých kritérií. Ak chcete kopírovať iba jedinečné hodnoty, musíme nastaviť jedinečný parameter AdvancedFilter na True.

Pri kódovaní postupujte podľa nižšie uvedených pokynov

 Možnosť Explicitné čiastkové FindUniqueValues ​​(SourceRange ako rozsah, TargetCell ako rozsah) „Použitie predbežného filtra na exaktovanie jedinečných položiek v zdrojovom rozsahu SourceRange.AdvancedFilter Akcia: = xlFilterCopy, _ CopyToRange: = TargetCell, jedinečný: = True End Sub Sub MacroRunning ()“ Volanie makra FindUniqueValues ​​Zavolajte FindUniqueValues ​​(rozsah (rozsah („H9“). Hodnota), rozsah (rozsah („H10“). Hodnota)) End Sub 

Ak sa vám tento blog páčil, zdieľajte ho so svojimi priateľmi na Facebooku. Môžete nás tiež sledovať na Twitteri a Facebooku.

Budeme radi, ak sa nám ozvete, dajte nám vedieť, ako môžeme zlepšiť našu prácu a zlepšiť ju pre vás. Napíšte nám na emailovú stránku

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave