Hľadanie jedinečných hodnôt pomocou VBA v programe Microsoft Excel

Obsah

V tomto článku vytvoríme vlastnú funkciu na nájdenie jedinečných hodnôt z definovaného rozsahu.

Surové údaje pre tento príklad pozostávajú z duplicitných záznamov názvu krajiny v rozsahu A8: A21.

Logické vysvetlenie

Vytvorili sme vlastnú funkciu „UniqueItem“ na extrahovanie jedinečných hodnôt z rozsahu. Táto funkcia používa ako vstup dva parametre. Prvý parameter je rozsah, ktorý pozostáva z duplicitných údajov, a druhý parameter definuje indexové číslo jedinečnej hodnoty v jedinečnej kolekcii.

Táto funkcia vracia jedinečnú hodnotu z rozsahu na základe indexového čísla. Druhý parameter je voliteľný parameter, ak nie je zadaný druhý parameter, funkcia vráti počet jedinečných hodnôt v definovanom rozsahu.

Ak je hodnota definovaná pre druhý parameter väčšia ako počet jedinečných hodnôt v rozsahu, funkcia vráti poslednú jedinečnú hodnotu.

Vysvetlenie kódu

Pri chybe Pokračovať Ďalej

Pre každú hodnotu bunky v poli InputRange

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

Ďalšie

Pri chybe GoTo 0

Vyššie uvedený kód sa používa na vytvorenie zberného objektu, ktorý bude obsahovať jedinečnú hodnotu z definovaného rozsahu. Príkazy „On Error“ sa používajú na spracovanie chýb, pretože keď sa kód pokúsi vložiť do kolekcie duplicitné hodnoty, kolekcia vygeneruje chybu.

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

 Možnosť Explicitná funkcia 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 'Addting 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ískavanie počtu jedinečných položiek v zbierke UCount = CUnique.Count If ItemNo = 0 Then' Vrátený počet jedinečných položiek UniqueItem = UCount ElseIf ItemNo <= UCount Potom „Vrátenie jedinečnej hodnoty na základe čísla položky UniqueItem = CUnique (ItemNo) inak“ Vrátenie poslednej jedinečnej hodnoty UniqueItem = CUnique (UCount) Koniec Ak Koniec Funkcia 

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