Slovník VBA | Průvodce prací se slovníky Excel VBA

Slovník Excel VBA

Pomocí slovníku VBA můžeme seskupit všechny druhy dat do slovníku, abychom získali přístup ke všem položkám pomocí jediné proměnné. Slovník můžeme použít k vytvoření kolekce kombinací klíč – hodnota. Jakmile je objekt propojen s klíči, později jej můžeme nazvat pouhým použitím názvu klíče.

VBA Dictionary je velmi těžké se dostat dovnitř, ale my se pokusíme naši úroveň co nejlépe, abychom vám usnadnili pochopení. Můžeme porovnat slovník i kolekci ve stejném měřítku, ale některé slovníky VBA nabízejí některé funkce, které nejsou k dispozici pro objekt kolekce VBA.

Práce se slovníky VBA

Abychom mohli pracovat se slovníky VBA, první věcí, kterou musíme udělat, je nastavit odkaz na objekt na „Microsoft Scripting Runtime“.

Chcete-li nastavit odkaz, postupujte podle následujících kroků.

Krok 1: Přejděte na Nástroje> Odkazy.

Krok 2: Přejděte dolů a vyberte možnost „Microsoft Scripting Runtime“ a klikněte na OK.

Nyní můžeme přistupovat ke slovníku VBA pomocí skriptovací knihovny.

Tuto šablonu Excel VBA Dictionary Excel si můžete stáhnout zde - Šablona VBA Dictionary Excel

Vytvořte instanci slovníku pomocí kódu VBA

Po nastavení odkazu na 'Microsoft Scripting Runtime' musíme vytvořit instanci VBA Dictionary. Nejprve deklarujte proměnnou jako Scripting.Dictionary

Kód:

 Sub Dict_Example1 () Dim Dict As Scripting.Dictionary End Sub

Nyní je proměnná „Dict“ objektovou proměnnou. U proměnné objektu musíme nastavit odkaz na objekt pomocí slova „Nový“.

Set Dict = New Scripting.Dictionary

Nyní máme přístup ke všem vlastnostem a metodám slovníku.

Poznámka: Všechna zelená tlačítka jsou Metody a další jsou Vlastnosti.

Nyní deklarujte jednu proměnnou jako DictResult.

Dim DictResult jako varianta

Nyní pomocí proměnné „Dict“ vytvoříme nový klíč.

Klíčové je slovo, které přidáváme. Přidejte název mobilního telefonu jako „Redmi“.

Položka není nic jiného než definice slova ( klíče ), které jsme přidali. Tato definice telefonu je jeho cena, takže přidám cenu na 15000.

Nyní pro další proměnnou „DictResult“ přidáme klíčové slovo pomocí proměnné „Dict“.

Klíč je slovo, které jsme vytvořili v předchozím kroku, tj. Název telefonu.

Nyní má proměnná „DictResult“ položku klíče, kterou jsme přidali. Nyní ukažte výsledek proměnné ve schránce zpráv VBA.

Kód:

 Sub Dict_Example1 () Dim Dict As Scripting.Dictionary Set Dict = New Scripting.Dictionary Dim DictResult As Variant Dict.Add Key: = "Redmi", Item: = 15000 DictResult = Dict ("Redmi") MsgBox DictResult End Sub 

Nyní spusťte kód ručně nebo pomocí klávesy F5 a v okně se zprávou se zobrazí cena ( položka ) telefonu ( klíč ), který jsme přidali pomocí „Dict“.

Porozumění KLÍČU A POLOŽCE

Pokud jste nepochopili KEY & ITEM, dovolte mi vysvětlit vám to na jednoduchém příkladu. Představte si slovník skutečného světa, s tímto slovníkem máme slova (klíče) a význam těchto slov (položka). Podobně jsou slova klíče a definice nebo význam je položka.

Nyní se podívejme na další příklad slovníku. Předpokládejme, že hledáte telefonní číslo konkrétní osoby. Jak vyhledáváte?

Je zřejmé, že používáme jméno, které jsme použili při ukládání telefonního čísla. Tady máme dvě věci, jedna je jméno osoby a druhá je telefonní číslo.

Jméno osoby je klíč.

Telefonní číslo je položky.

Pokud chcete příklad aplikace Excel, můžeme jako příklad uvést VLOOKUP. Pomocí vzorce vyhledáme hodnoty založené na HODNOTĚ VYHLEDÁVÁNÍ (klíč). Výsledek vrácený funkcí VLOOKUP se nazývá Item.

Zkontrolujte, zda tam mobilní telefon je nebo není

Představte si, že svým zákazníkům dáváte uživatelský formulář ke kontrole ceny mobilního telefonu pomocí jednoduchého vstupního pole. Pod kódem Excel VBA se před uživatelem zobrazí vstupní pole a uživatel musí zadat hledanou značku telefonu, pokud je ve slovníku název značky, zobrazí cenu příslušného telefonu, jinak bude zobrazit zprávu jako „Telefon, který hledáte, v knihovně neexistuje“.

Kód:

 Sub Dict_Example2 () Dim PhoneDict As Scripting.Dictionary Dim DictResult As Variant Set PhoneDict = New Scripting.Dictionary PhoneDict.Add Key: = "Redmi", Item: = 15000 PhoneDict.Add Key: = "Samsung", Item: = 25000 PhoneDict .Add Key: = "Oppo", Item: = 20000 PhoneDict.Add Key: = "VIVO", Item: = 21000 PhoneDict.Add Key: = "Jio", Item: = 2500 DictResult = Application.InputBox (Výzva: = „Zadejte prosím název telefonu“) Pokud PhoneDict.Exists (DictResult), pak MsgBox „Cena telefonu“ & DictResult & “je:„ & PhoneDict (DictResult) Jinak MsgBox “Telefon, který hledáte, neexistuje v Knihovna "End If End Sub 

Spusťte tento kód pomocí klávesy F5 nebo ručně a podívejte se na výsledek.


$config[zx-auto] not found$config[zx-overlay] not found