Dicționar Excel VBA
Folosind VBA Dictionary putem grupa tot felul de date într-un dicționar pentru a avea acces la toate articolele cu o singură variabilă. Putem folosi dicționarul pentru a crea o colecție de combinații cheie-valoare. Odată ce obiectul este legat de taste, mai târziu, le putem apela folosind doar numele cheii.
VBA Dictionary este foarte greu de accesat, dar vom încerca cel mai bine nivelul nostru pentru a vă înțelege mai ușor. Putem compara atât Dicționar, cât și Colecție pe aceeași scară, dar unele dintre dicționarele VBA oferă unele dintre funcționalitățile care nu sunt disponibile cu obiectul VBA Colecții.

Lucrul cu dicționarele VBA
Pentru a lucra cu dicționarele VBA, primul lucru pe care trebuie să îl facem este să setăm referința obiectului la „Microsoft Scripting Runtime”.
Pentru a seta referința, urmați pașii de mai jos.
Pasul 1: Accesați Instrumente> Referințe.

Pasul 2: Derulați în jos și selectați opțiunea „Microsoft Scripting Runtime”, apoi faceți clic pe ok.

Acum putem accesa VBA Dictionary cu Scripting Library.
Creați o instanță de dicționar cu codul VBA
După setarea referinței la „Microsoft Scripting Runtime”, trebuie să creăm o instanță din Dicționarul VBA. Mai întâi, declarați variabila ca Scripting.Dictionary.
Cod:
Sub Dict_Example1 () Dim Dict As Scripting.Dictionary End Sub

Acum variabila „Dict” este o variabilă obiect. Pentru variabila obiect, trebuie să setăm referința obiectului folosind cuvântul „Nou”.
Set Dict = New Scripting.Dictionary

Acum putem accesa toate proprietățile și metodele dicționarului.

Acum declarați o variabilă ca DictResult.
Dim Dict Rezultă ca variantă

Acum folosind variabila „Dict”, vom crea o nouă cheie.

Cheia este cuvântul pe care îl adăugăm. Să adăugăm numele telefonului mobil ca „Redmi”.

Elementul nu este altceva decât definiția cuvântului ( cheie ) pe care l-am adăugat. Această definiție a telefonului este prețul său, așa că voi adăuga prețul la 15000.

Acum, pentru o altă variabilă, „DictResult”, vom adăuga un cuvânt cheie folosind variabila „Dict”.

Cheia este cuvântul pe care l-am creat în pasul anterior, adică numele telefonului.

Acum variabila „DictResult” are elementul cheii pe care am adăugat-o. Acum arătați rezultatul variabilei în caseta de mesaje VBA.
Cod:
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

Acum rulați codul manual sau folosind tasta F5 și o casetă de mesaj vă va arăta prețul ( articolul ) telefonului ( cheia ) pe care l-am adăugat folosind „Dict”.

Înțelegerea CHEIEI ȘI ARTICOLULUI
Dacă nu ați înțeles KEY & ITEM, permiteți-mi să vă explic cu un exemplu simplu. Imaginați-vă un dicționar din lumea reală. Cu acest dicționar, avem cuvinte (chei) și semnificația acestor cuvinte (element). În mod similar, cuvintele sunt chei, iar definiția sau semnificația este elementul.
Acum, uitați-vă la încă un exemplu de dicționar. Să presupunem că căutați un număr de telefon al unei anumite persoane. Cum cauți?
Evident, folosind numele, am folosit în timp ce salvăm numărul de telefon. Aici avem două lucruri, unul este numele persoanei , iar al doilea este numărul de telefon.
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 (Prompt: = „Vă rugăm să introduceți numele telefonului”) Dacă PhoneDict.Exists (DictResult), atunci MsgBox „Prețul telefonului” și DictResult & „este:„ & PhoneDict (DictResult) Alt telefon MsgBox „Căutați nu există în Biblioteca "End If End Sub
Rulați acest cod folosind tasta F5 sau manual și vedeți rezultatul.
