Slovník Excel VBA
Pomocí VBA Dictionary můžeme seskupit všechny druhy dat ve slovníku, abychom získali přístup ke všem položkám s jedinou proměnnou. 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 budeme se snažit 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, musíme nejprve 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.
Vytvořte instanci slovníku pomocí kódu VBA
Po nastavení odkazu na „Microsoft Scripting Runtime“ musíme vytvořit instanci slovníku VBA. 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ůžeme přistupovat ke všem vlastnostem a metodám slovníku.

Nyní deklarujte jednu proměnnou jako DictResult.
Dim DictResult jako varianta

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

Klíčem 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í k další proměnné „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í příkazu „Dict“.

Porozumění KLÍČU A POLOŽCE
Pokud jste nepochopili KLÍČ & POLOŽKU, vysvětlím vám to na jednoduchém příkladu. Představte si slovník skutečného světa. V tomto slovníku 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 jsme pomocí jména 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.
The name of the Person is Key.
The Phone Number is Item.
If you want the example of Excel, we can give VLOOKUP as an example. We use the formula to look for values based on the LOOKUP VALUE (Key). The result returned by the VLOOKUP function is called Item.
Check Whether the Mobile Phone is there or not.
Imagine you are giving a user form to your customers to check the mobile phone’s price with a simple input box. Below Excel VBA code will present an Input Box in front of the user, and they need to enter the brand of the phone they are looking for. If the brand name is there in the dictionary, it will show the price of the respective phone, or else it will display the message as “Phone You are Looking for Doesn’t Exist in the Library.”
Code:
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.
