Hledání jedinečných hodnot pomocí VBA v aplikaci Microsoft Excel

Anonim

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

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

Logické vysvětlení

Vytvořili jsme vlastní funkci „UniqueItem“ pro extrahování jedinečných hodnot z rozsahu. Tato funkce bere jako vstup dva parametry. První parametr je rozsah, který se skládá z duplicitních dat, a druhý parametr definuje indexové číslo jedinečné hodnoty v jedinečné kolekci.

Tato funkce vrací jedinečnou hodnotu z rozsahu na základě indexového čísla. Druhý parametr je volitelný parametr, pokud není zadán druhý parametr, pak funkce vrátí počet jedinečných hodnot v definovaném rozsahu.

Pokud je hodnota definovaná pro druhý parametr větší než počet jedinečných hodnot v rozsahu, funkce vrátí poslední jedinečnou hodnotu.

Vysvětlení kódu

Při chybě Pokračovat Další

Pro každou CellValue v InputRange

CUnique.Add CellValue.Value, CStr (CellValue.Value)

další

Při chybě GoTo 0

Výše uvedený kód se používá k vytvoření sbírkového objektu, který bude obsahovat jedinečnou hodnotu z definovaného rozsahu. Příkazy „On Error“ se používají ke zpracování chyb, protože když se kód pokusí vložit do kolekce duplicitní hodnoty, kolekce vygeneruje chybu.

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

 Volba Explicitní funkce UniqueItem (InputRange As Range, Optional ItemNo As Integer = 0) As Variant Dim CellValue As Range Dim CUnique As New Collection Dim UCount As Integer On Error Resume Next 'Adding unique items to collection from defined range For every CellValue In InputRange CUnique .Add CellValue.Value, CStr (CellValue.Value) Next On Error GoTo 0 'Získávání počtu jedinečných položek ve sbírce UCount = CUnique.Count If ItemNo = 0 Then' Vracející se počet jedinečných položek UniqueItem = UCount ElseIf ItemNo <= UCount Potom 'Vrácení jedinečné hodnoty na základě čísla položky UniqueItem = CUnique (ItemNo) Jinak' Vrácení poslední jedinečné hodnoty UniqueItem = CUnique (UCount) End If End Funkce 

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