Dizionario VBA

Dizionario Excel VBA

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.

Puoi scaricare questo modello Excel per dizionario VBA qui - Modello Excel per dizionario VBA

Crea istanza di dizionario con codice VBA

Dopo aver impostato il riferimento a "Microsoft Scripting Runtime", dobbiamo 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à.

Dichiarare ora 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 la 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 usando il tasto F5 e una finestra di messaggio ti mostrerà il prezzo ( articolo ) del telefono ( chiave ) che abbiamo aggiunto usando "Dict".

Capire KEY & ITEM

Se non hai capito KEY & ITEM lascia che ti spieghi con un semplice esempio. Immagina il dizionario del mondo reale, con questo dizionario abbiamo parole (chiavi) e 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. Supponiamo che tu stia cercando il numero di telefono di una determinata persona. Come effettui la ricerca?

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

Il nome della persona è la chiave.

Il numero di telefono è l' elemento.

Se vuoi l'esempio di Excel possiamo dare VLOOKUP come esempio. Usiamo la formula per cercare i valori in base al VALORE DI RICERCA (chiave). Il risultato restituito dalla funzione CERCA.VERT è denominato Elemento.

Controlla se il telefono cellulare è presente o meno

Immagina di fornire un modulo utente ai tuoi clienti per controllare il prezzo del telefono cellulare con una semplice casella di input. Sotto il codice VBA di Excel presenterà una casella di input di fronte all'utente e dovrà inserire la marca del telefono che stanno cercando, se il nome del marchio è presente nel dizionario mostrerà il prezzo del rispettivo telefono oppure lo farà visualizzare il messaggio come "Il telefono che stai cercando non esiste nella libreria".

Codice:

 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: = "Inserisci 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.