Diccionari VBA | Guia per treballar amb diccionaris Excel VBA

Diccionari VBA d'Excel

Mitjançant VBA Dictionary podem agrupar tot tipus de dades en un diccionari per accedir a tots els elements amb una sola variable. Podem utilitzar el diccionari per crear una col·lecció de combinacions valor-clau. Un cop enllaçat l’objecte a les claus, més endavant, podem trucar-los només amb el nom de la clau.

El diccionari VBA és molt difícil d’entrar, però farem tot el possible perquè sigui més fàcil d’entendre. Podem comparar Diccionari i Col·lecció a la mateixa escala, però alguns dels diccionaris VBA ofereixen algunes de les funcionalitats que no estan disponibles amb l’objecte Col·leccions VBA.

Treballar amb diccionaris de VBA

Per treballar amb els diccionaris de VBA, el primer que hem de fer és establir la referència de l’objecte a ‘Microsoft Scripting Runtime’.

Per establir la referència, seguiu els passos següents.

Pas 1: Aneu a Eines> Referències.

Pas 2: Desplaceu-vos cap avall i seleccioneu l'opció "Microsoft Scripting Runtime" i feu clic a D'acord.

Ara podem accedir al VBA Dictionary amb Scripting Library.

Podeu descarregar aquesta plantilla Excel del diccionari VBA aquí: plantilla Excel del diccionari VBA

Crea una instància de diccionari amb el codi VBA

Després d’establir la referència a ‘Microsoft Scripting Runtime’, hem de crear una instància del Diccionari VBA. En primer lloc, declareu la variable com Scripting.Dictionnaire

Codi:

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

Ara la variable "Dict" és una variable objecte. Per a la variable objecte, hem d’establir la referència de l’objecte mitjançant la paraula “Nou”.

Estableix Dict = Nou Scripting.Dictionary

Ara podem accedir a totes les propietats i mètodes del diccionari.

Nota: Totes les paraules amb botons verds són mètodes i altres són propietats.

Ara declareu una variable com a DictResult.

Dim DictResult com a variant

Ara amb la variable "Dict" crearem una nova clau.

Clau és la paraula que afegim. Afegim el nom del telèfon mòbil com a "Redmi".

Article no és res més que la definició de la paraula (clau) hem afegit. Aquesta definició del telèfon és el seu preu, de manera que afegiré el preu a 15.000.

Ara per a una altra variable "DictResult", afegirem paraules clau mitjançant la variable "Dict".

Clau és la paraula que hem creat al pas anterior, és a dir, el nom del telèfon.

Ara la variable "DictResult" té l'element de la clau que hem afegit. Ara mostreu el resultat de la variable al quadre de missatges VBA.

Codi:

 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 

Ara executeu el codi manualment o mitjançant la tecla F5 i un quadre de missatge us mostrarà el preu (article) del telèfon (clau) hem afegit mitjançant "Dict".

Comprensió de CLAU I ARTICLE

Si no heu entès KEY & ITEM, permeteu-me que us expliqui amb un exemple senzill. Imagineu-vos el diccionari del món real, amb aquest diccionari tenim paraules (claus) i el significat d’aquestes paraules (ítem). De la mateixa manera, les paraules són claus i la definició o significat és l’ítem.

Ara mireu un exemple més de diccionari. Suposem que cerqueu un número de telèfon d'una persona en concret. Com cerqueu?

Viouslybviament, utilitzant el nom que hem utilitzat mentre desem el número de telèfon. Aquí tenim dues coses, una és la Nom de la persona i el segon és Número de telèfon.

El nom de la persona és Clau.

El Número de telèfon és Article.

Si voleu l'exemple d'Excel, podem posar VLOOKUP com a exemple. Utilitzem la fórmula per buscar valors basats en el VALOR DE BUSCA (Clau). Es denomina el resultat retornat per la funció VLOOKUP Article.

Comproveu si hi ha o no el telèfon mòbil

Imagineu que doneu un formulari d’usuari als vostres clients per comprovar el preu del telèfon mòbil amb una senzilla caixa d’entrada. A sota del codi Excel VBA es presentarà una caixa d’entrada davant de l’usuari i haurà d’introduir la marca de telèfon que busca, si el nom de la marca es troba al diccionari, es mostrarà el preu del telèfon corresponent o mostra el missatge com a "El telèfon que busqueu no existeix a la biblioteca".

Codi:

 Sub Dict_Example2 () Disminuir PhoneDict com a Scripting.Dictionary Dim DictResult As Variant Establir PhoneDict = Nova Scripting.Dictionary PhoneDict.Add Key: = "Redmi", Item: = 15000 PhoneDict.Add Key: = "Samsung", Item: = 25000 PhoneDict Clau .Add: = "Oppo", element: = 20000 PhoneDict.Add clau: = "VIVO", element: = 21000 PhoneDict.Add clau: = "Jio", element: = 2500 DictResult = Application.InputBox (Prompt: = "Introduïu el nom del telèfon") Si PhoneDict.Exists (DictResult), llavors MsgBox "El preu del telèfon" i DictResult & "és:" & PhoneDict (DictResult) La resta del telèfon que busqueu no existeix al Biblioteca "Finalitza si finalitza Sub 

Executeu aquest codi amb la tecla F5 o manualment i vegeu el resultat.