Slovník VBA - Sprievodca prácou so slovníkmi Excel VBA

Slovník Excel VBA

Pomocou slovníka VBA môžeme zoskupiť všetky druhy údajov v slovníku, aby sme získali prístup ku všetkým položkám pomocou jednej premennej. Slovník môžeme použiť na vytvorenie kolekcie kombinácií kľúč - hodnota. Akonáhle je objekt prepojený s kľúčmi, neskôr ich môžeme nazvať iba pomocou názvu kľúča.

Do VBA Dictionary je veľmi ťažké sa dostať dovnútra, ale pokúsime sa čo najlepšie zvládnuť našu úroveň, aby sme vám ľahko porozumeli. Môžeme porovnávať slovník aj zbierku v rovnakom rozsahu, ale niektoré slovníky VBA ponúkajú niektoré funkcie, ktoré nie sú k dispozícii pre objekt VBA Collections.

Práca so slovníkmi VBA

Aby sme mohli pracovať so slovníkmi VBA, najskôr musíme nastaviť odkaz na objekt na „Microsoft Scripting Runtime“.

Pri nastavovaní referencie postupujte podľa nasledujúcich krokov.

Krok 1: Prejdite do ponuky Nástroje> Referencie.

Krok 2: Prejdite nadol a vyberte možnosť „Microsoft Scripting Runtime“, potom kliknite na ok.

Teraz máme prístup k slovníku VBA pomocou skriptovacej knižnice.

Vytvorte inštanciu slovníka pomocou kódu VBA

Po nastavení odkazu na „Microsoft Scripting Runtime“ musíme vytvoriť inštanciu VBA slovníka. Najskôr deklarujte premennú ako Scripting.Dictionary.

Kód:

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

Teraz je premenná „Dict“ objektovou premennou. Pre premennú objektu musíme nastaviť odkaz na objekt pomocou slova „Nový“.

Nastaviť Dict = Nové skriptovanie. Slovník

Teraz máme prístup ku všetkým vlastnostiam a metódam slovníka.

Poznámka: Všetky slová so zeleným gombíkom sú Metódy a ďalšie sú Vlastnosti.

Teraz deklarujte jednu premennú ako DictResult.

Dim DictResult ako variant

Teraz pomocou premennej „Dict“ vytvoríme nový kľúč.

Kľúč je to, čo slovo, ktoré pridávame, je. Pridajte názov mobilného telefónu ako „Redmi“.

Položka nie je nič iné ako definícia slova ( kľúča ), ktorú sme pridali. Touto definíciou telefónu je jeho cena, preto pridám cenu k 15000.

Teraz k ďalšej premennej „DictResult“ pridáme kľúčové slovo pomocou premennej „Dict“.

Kľúč je slovo, ktoré sme vytvorili v predchádzajúcom kroku, tj názov telefónu.

Teraz má premenná „DictResult“ položku kľúča, ktorú sme pridali. Teraz ukážte výsledok premennej v okne správy VBA.

Kód:

Sub Dict_Example1 () Dim Dict As Scripting.Dictionary Set Dict = Nové skriptovanie.Dictionary Dim DictResult ako variant Dict.Add Key: = "Redmi", položka: = 15000 DictResult = Dict ("Redmi") MsgBox DictResult End Sub

Teraz spustite kód ručne alebo pomocou klávesu F5 a v okne so správou sa zobrazí cena ( položka ) telefónu ( kľúča ), ktorý sme pridali pomocou príkazu „Dict“.

Pochopenie KĽÚČ A POLOŽKA

Ak ste nepochopili KĽÚČ A POLOŽKU, dovoľte mi vysvetliť vám na jednoduchom príklade. Predstavte si slovník skutočného sveta. V tomto slovníku máme slová (kľúče) a význam týchto slov (položka). Podobne sú slová aj kľúče a definíciou alebo významom je položka.

Teraz sa pozrite na ďalší príklad slovníka. Predpokladajme, že hľadáte telefónne číslo konkrétnej osoby. Ako hľadáte?

Je zrejmé, že pomocou mena sme použili meno pri ukladaní telefónneho čísla. Tu máme dve veci, jedna je meno osoby a druhá je telefónne číslo.

Meno osoby je kľúčové.

Telefónne číslo je položky.

Ak chcete príklad programu Excel, ako príklad môžeme uviesť VLOOKUP. Pomocou vzorca hľadáme hodnoty založené na LOOKUP VALUE (kľúč). Výsledok vrátený funkciou VLOOKUP sa nazýva Položka.

Skontrolujte, či tam je alebo nie je mobilný telefón.

Predstavte si, že svojim zákazníkom dáte užívateľský formulár na kontrolu ceny mobilného telefónu pomocou jednoduchého vstupného poľa. Pod kódom Excel VBA sa pred používateľom zobrazí vstupné pole, kde je potrebné zadať značku telefónu, ktorý hľadá. Ak sa značka nachádza v slovníku, zobrazí sa cena príslušného telefónu, inak sa zobrazí správa „Telefón, ktorý hľadáte, v knižnici neexistuje“.

Kód:

Sub Dict_Example2 () Dim PhoneDict ako 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: = „Zadajte meno telefónu“) Ak PhoneDict.Exists (DictResult), potom MsgBox „Cena telefónu“ & DictResult & “je:„ & PhoneDict (DictResult) Else MsgBox “Telefón, ktorý hľadáte, neexistuje v Knižnica „End If End Sub

Spustite tento kód pomocou klávesu F5 alebo manuálne a pozrite si výsledok.

Zaujímavé články...