Vraťte jedinečné položky pomocí jazyka VBA v aplikaci Microsoft Excel

Obsah

V tomto článku vytvoříme makro pro extrahování jedinečných hodnot z definovaného rozsahu.

Nezpracovaná data pro tento příklad se skládají z duplicitních záznamů názvů zemí v rozsahu A7: A21.

Vytvořili jsme makro „FindUniqueValues“ pro extrahování jedinečných hodnot z definovaného rozsahu. Toto makro lze spustit kliknutím na tlačítko „Odeslat“. Před kliknutím na tlačítko „Odeslat“ musíme zadat adresu rozsahu, který obsahuje duplicitní data v buňce H9, a adresu cíle, kde by se měl výstup zobrazit.

Logické vysvětlení

Makro „FindUniqueValues“ bere jako vstupní parametry dva objekty rozsahu. První parametr definuje rozsah, který obsahuje duplicitní data, a druhý parametr definuje pozici počáteční buňky, která bude obsahovat výstup. Toto makro nelze volat přímo, protože musíme specifikovat parametry, proto jsme vytvořili druhé makro „MacroRunning“ pro volání makra.

Makro „MacroRunning“ volá makro „FindUniqueValues“ se zadáním parametru uživatelem.

Vysvětlení kódu

SourceRange.AdvancedFilter Akce: = xlFilterCopy, _

CopyToRange: = TargetCell, Unique: = True

Metoda AdvancedFilter objektu Range se používá k filtrování nebo kopírování dat z rozsahu na základě určitých kritérií. Chcete -li kopírovat pouze jedinečné hodnoty, musíme nastavit jedinečný parametr AdvancedFilter na True.

Pro kód prosím postupujte níže

 Možnost Explicitní Sub FindUniqueValues ​​(SourceRange jako rozsah, TargetCell jako rozsah) 'Použití předběžného filtru pro exaktování unikátních položek ve zdrojovém rozsahu SourceRange.AdvancedFilter Akce: = xlFilterCopy, _ CopyToRange: = TargetCell, Unikátní: = True End Sub Sub MacroRunning ()' Volání makra FindUniqueValues ​​Volání FindUniqueValues ​​(rozsah (rozsah („H9“). Hodnota), rozsah (rozsah („H10“). Hodnota)) End Sub 

Pokud se vám tento blog líbil, sdílejte ho se svými přáteli na Facebooku. Také nás můžete sledovat na Twitteru a Facebooku.

Rádi bychom od vás slyšeli, dejte nám vědět, jak můžeme zlepšit naši práci a zlepšit ji pro vás. Napište nám na e -mail

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave