Diccionario VBA

Diccionario Excel VBA

Usando VBA Dictionary podemos agrupar todo tipo de datos en un diccionario para tener acceso a todos los elementos con una sola variable. Podemos utilizar el diccionario para crear una colección de combinaciones clave-valor. Una vez que el objeto está vinculado a las claves, más adelante, podemos llamarlas simplemente usando el nombre de la clave.

El Diccionario VBA es muy difícil de ingresar, pero haremos nuestro mejor esfuerzo para que sea más fácil de entender. Podemos comparar tanto el Diccionario como la Colección en la misma escala, pero algunos de los diccionarios de VBA ofrecen algunas de las funcionalidades que no están disponibles con el objeto Colecciones de VBA.

Trabajar con diccionarios de VBA

Para trabajar con diccionarios de VBA, lo primero que debemos hacer es establecer la referencia del objeto en 'Microsoft Scripting Runtime'.

Para establecer la referencia, siga los pasos a continuación.

Paso 1: vaya a Herramientas> Referencias.

Paso 2: Desplácese hacia abajo y seleccione la opción 'Microsoft Scripting Runtime' y luego haga clic en Aceptar.

Ahora podemos acceder al diccionario VBA con la biblioteca de secuencias de comandos.

Puede descargar esta plantilla de Excel del diccionario VBA aquí - Plantilla de Excel del diccionario VBA

Crear instancia de diccionario con código VBA

Después de establecer la referencia a 'Microsoft Scripting Runtime', necesitamos crear una instancia del diccionario VBA. Primero, declare la variable como Scripting.

Código:

 Sub Dict_Example1 () Dim Dict como scripting.Dictionary End Sub

Ahora la variable "Dict" es una variable de objeto. Para la variable de objeto, necesitamos establecer la referencia del objeto usando la palabra "Nuevo".

Set Dict = Nueva secuencia de comandos.

Ahora podemos acceder a todas las propiedades y métodos del diccionario.

Nota: Todas las palabras con botones verdes son métodos y otras son propiedades.

Ahora declare una variable como DictResult.

Dim DictResult como variante

Ahora usando la variable "Dict" crearemos una nueva clave.

La clave es la palabra que estamos agregando. Agreguemos el nombre del teléfono móvil como "Redmi".

El elemento no es más que la definición de la palabra ( clave ) que hemos agregado. Esta definición del teléfono es su precio, por lo que agregaré el precio a 15000.

Ahora, para otra variable "DictResult", agregaremos una palabra clave usando la variable "Dict".

La clave es la palabra que hemos creado en el paso anterior, es decir, el nombre del teléfono.

Ahora la variable "DictResult" tiene el elemento de la clave que hemos agregado. Ahora muestre el resultado de la variable en el cuadro de mensaje de VBA.

Código:

 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 

Ahora ejecute el código manualmente o usando la tecla F5 y un cuadro de mensaje le mostrará el precio ( artículo ) del teléfono ( clave ) que hemos agregado usando “Dict”.

Entendiendo KEY & ITEM

Si no ha entendido KEY & ITEM, permítame explicarle con un ejemplo simple. Imagínese el diccionario del mundo real, con este diccionario tenemos palabras (claves) y el significado de esas palabras (elemento). Del mismo modo, las palabras son claves y la definición o significado es el elemento.

Ahora, mire un ejemplo más de Diccionario. Suponga que está buscando el número de teléfono de una persona en particular. ¿Cómo buscas?

Obviamente, usando el nombre que hemos usado mientras guardamos el número de teléfono. Aquí tenemos dos cosas, una es el nombre de la persona y la segunda es el número de teléfono.

El nombre de la persona es clave.

El número de teléfono es el artículo.

Si desea el ejemplo de Excel podemos poner VLOOKUP como ejemplo. Usamos la fórmula para buscar valores basados ​​en el VALOR DE BÚSQUEDA (Clave). El resultado devuelto por la función BUSCARV se llama Elemento.

Compruebe si el teléfono móvil está allí o no

Imagine que está dando un formulario de usuario a sus clientes para que verifiquen el precio del teléfono móvil con un simple cuadro de entrada. Debajo del código Excel VBA presentará un cuadro de entrada frente al usuario y debe ingresar la marca del teléfono que está buscando, si la marca está en el diccionario, mostrará el precio del teléfono respectivo o de lo contrario lo hará muestra el mensaje como "El teléfono que está buscando no existe en la biblioteca".

Código:

 Sub Dict_Example2 () Dim PhoneDict como scripting.Dictionary Dim DictResult como variante Establecer PhoneDict = New Scripting.Dictionary PhoneDict.Add Key: = "Redmi", Item: = 15000 PhoneDict.Add Key: = "Samsung", Item: = 25000 PhoneDict .Añadir clave: = "Oppo", artículo: = 20000 PhoneDict.Añadir clave: = "VIVO", artículo: = 21000 PhoneDict.Añadir clave: = "Jio", artículo: = 2500 DictResult = Application.InputBox (Prompt: = "Ingrese el nombre del teléfono") Si PhoneDict.Exists (DictResult) Entonces MsgBox "El precio del teléfono" & DictResult & "es:" & PhoneDict (DictResult) Else MsgBox "El teléfono que está buscando no existe en el Biblioteca "End If End Sub 

Ejecute este código usando la tecla F5 o manualmente y vea el resultado.