Dizionario VBA - Guida per lavorare con i dizionari VBA di Excel

Dizionario VBA di Excel

Usando il dizionario VBA possiamo raggruppare tutti i tipi di dati in un dizionario per avere accesso a tutti gli elementi con una singola variabile. Possiamo utilizzare il dizionario per creare una raccolta di combinazioni di valori-chiave. Una volta che l'oggetto è collegato alle chiavi, in seguito, possiamo chiamarle semplicemente usando il nome della chiave.

Il dizionario VBA è molto difficile da entrare, ma faremo del nostro meglio per renderlo facile da capire. Possiamo confrontare sia Dictionary che Collection sulla stessa scala, ma alcuni dizionari VBA offrono alcune delle funzionalità che non sono disponibili con l'oggetto VBA Collections.

Lavorare con i dizionari VBA

Per lavorare con i dizionari VBA, la prima cosa che dobbiamo fare è impostare il riferimento all'oggetto su "Microsoft Scripting Runtime".

Per impostare il riferimento seguire i passaggi seguenti.

Passaggio 1: vai su Strumenti> Riferimenti.

Passaggio 2: scorri verso il basso e seleziona l'opzione "Microsoft Scripting Runtime", quindi fai clic su OK.

Ora possiamo accedere al dizionario VBA con Scripting Library.

Crea istanza di dizionario con codice VBA

Dopo aver impostato il riferimento a "Microsoft Scripting Runtime", è necessario creare un'istanza del dizionario VBA. Per prima cosa, dichiara la variabile come Scripting.Dictionary.

Codice:

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

Ora la variabile "Dict" è una variabile oggetto. Per la variabile oggetto, dobbiamo impostare il riferimento all'oggetto utilizzando la parola "Nuovo".

Imposta Dict = New Scripting.Dictionary

Ora possiamo accedere a tutte le proprietà e metodi del dizionario.

Nota: tutte le parole con i pulsanti verdi sono Metodi e altre sono Proprietà.

Ora dichiara una variabile come DictResult.

Dim DictResult As Variant

Ora utilizzando la variabile "Dict", creeremo una nuova chiave.

La chiave è la parola che stiamo aggiungendo. Aggiungiamo il nome del telefono cellulare come "Redmi".

L'articolo non è altro che la definizione della parola ( chiave ) che abbiamo aggiunto. Questa definizione del telefono è il suo prezzo, quindi aggiungerò il prezzo a 15000.

Ora per un'altra variabile, "DictResult", aggiungeremo una parola chiave utilizzando la variabile "Dict".

La chiave è la parola che abbiamo creato nel passaggio precedente, ovvero il nome del telefono.

Ora la variabile “DictResult” ha l'elemento della chiave che abbiamo aggiunto. Ora mostra il risultato della variabile nella finestra di messaggio VBA.

Codice:

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

Ora esegui il codice manualmente o utilizzando il tasto F5 e una finestra di messaggio ti mostrerà il prezzo ( articolo ) del telefono ( tasto ) che abbiamo aggiunto utilizzando "Dict".

Capire KEY & ITEM

Se non hai capito KEY & ITEM, lascia che ti spieghi con un semplice esempio. Immagina un dizionario del mondo reale. Con questo dizionario, abbiamo le parole (chiavi) e il significato di quelle parole (elemento). Allo stesso modo, le parole sono chiavi e la definizione o il significato è l'elemento.

Ora guarda un altro esempio di dizionario. Supponi di cercare il numero di telefono di una determinata persona. Come effettui la ricerca?

Ovviamente, utilizzando il nome, abbiamo utilizzato durante il salvataggio il numero di telefono. Qui abbiamo due cose: una è il nome della persona e la seconda è il numero di telefono.

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: = "Immettere il nome del telefono") Se PhoneDict.Exists (DictResult) Allora MsgBox "Il prezzo del telefono" e DictResult & "è:" & PhoneDict (DictResult) Else MsgBox "Il telefono che stai cercando non esiste Libreria "End If End Sub

Esegui questo codice utilizzando il tasto F5 o manualmente e guarda il risultato.

Articoli interessanti...