ArrayList de VBA

En vba hemos incorporado colecciones de tipos de datos, funciones, variables y otras declaraciones importantes, pero similar a esto, tenemos una lista de matrices en VBA en la que un usuario puede modificar y poner sus propias colecciones de variables y funciones definidas por el usuario en una matriz, hay ciertas palabras clave para la lista de matrices para diseñarla.

Lista de matrices de Excel VBA

VBA ArrayList es un tipo de estructura de datos que usamos en VBA para almacenar los datos. ArrayList en Excel VBA es una clase que se usa para crear una matriz de valores. Esto a diferencia de las matrices tradicionales donde esas matrices tienen una longitud fija pero la Lista de matrices no tiene una longitud fija.

VAB ArrayList no es parte de la lista de VBA, sino que es una biblioteca u objeto externo que necesitamos para establecer la referencia antes de comenzar a acceder.

Las matrices en VBA son una parte integral de cualquier lenguaje de codificación. Al usar matrices en Excel, podemos almacenar datos con un solo nombre de variable declarando el "límite inferior y límite superior".

Con matrices regulares, necesitamos decidir el límite inferior y el límite superior de la matriz, debemos decidir con mucha anticipación al momento de declarar la variable en el caso de matrices estáticas y en el caso de matrices dinámicas, debemos decidir la longitud de la matriz. matriz después de declarar la matriz utilizando la declaración "ReDim" en VBA.

Sin embargo, tenemos una opción más donde podemos almacenar el número "N" de valores sin declarar el límite inferior y el límite superior. En este artículo, le mostraremos acerca de esa opción, es decir, "VBA ArrayList"

Para establecer la referencia al objeto VBA ArrayList, siga los pasos a continuación.

Paso 1: vaya a Herramientas> Referencias

Paso 2: La ventana de referencia de la biblioteca de objetos aparecerá frente a usted. Seleccione la opción " mscorlib.dll "

Paso 3: haga clic en Aceptar también. Ahora podemos acceder a VBA ArrayList.

Ejemplos de VBA ArrayList en Excel

A continuación se muestran los ejemplos de Excel VBA ArrayList.

Puede descargar esta plantilla de Excel de VBA ArrayList aquí - Plantilla de Excel de VBA ArrayList

Ejemplo n. ° 1: creación de una instancia de VBA ArrayList

Dado que Excel VBA ArrayList es un objeto externo, necesitamos crear una instancia para comenzar a usar esto. Para crear una instancia, siga los pasos a continuación.

Paso 1: Declare la variable como " ArrayList ".

Código:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList End Sub 

Paso 2: Dado que Array List es un objeto, necesitamos crear una nueva instancia.

Código:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Establecer ArrayValues ​​= New ArrayList End Sub 

Paso 3: Ahora podemos seguir almacenando valores en la variable de matriz usando el método "Agregar". En la imagen de abajo, agregué tres valores.

Código:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Establecer ArrayValues ​​= New ArrayList ArrayValues.Añadir "Hola" 'Primer valor ArrayValues.Añadir "Bueno"' Segundo valor ArrayValues.Añadir "Morning" 'Sub de final de tres valores 

Ahora hemos asignado tres valores, cómo identificamos cuál es el primero y cómo podemos mostrar los valores o usarlos según nuestras necesidades.

Si recuerda el tipo de matriz tradicional, nos referimos al primer valor de la matriz como este "ArrayName (0)"

De manera similar, también podemos usar la misma técnica aquí.

ArrayValue (0) = "Hola"
ArrayValue (1) = "Bueno"
ArrayValue (2) = "Mañana"

Dejemos mostrar esto en el cuadro de mensaje.

Código:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Establecer ArrayValues ​​= New ArrayList ArrayValues.Añadir "Hola" 'Primer valor ArrayValues.Añadir "Bueno"' Segundo valor ArrayValues.Añadir "Mañana" 'Tres valores MsgBox ArrayValues ​​(0) & vbrayValine 1) & vbNewLine & ArrayValues ​​(2) End Sub 

Ahora ejecute el código usando la tecla F5 o manualmente, luego veremos "Hola", "Bien" y "Mañana" en el cuadro de mensaje de VBA.

De esta forma, podemos almacenar cualquier número de valores con Array List Object.

Ejemplo n. ° 2: almacenar valores en celdas mediante VBA ArrayList

Veamos el ejemplo de cómo almacenar los valores asignados a las celdas en la hoja de trabajo. Ahora, mire el siguiente código VBA.

Código:

 Sub ArrayList_Example2 () Dim MobileNames como ArrayList, MobilePrice como ArrayList Dim i As Integer Dim k As Integer Establecer MobileNames = New ArrayList 'Nombres de los MobileNames.Añadir "Redmi" MobileNames.Añadir "Samsung" MobileNames.Añadir "Oppo" MobileNames. Agregue "VIVO" MobileNames.Agregue "LG" Establecer MobilePrice = New ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 End Sub 

Con dos listas de matrices, he almacenado los nombres del móvil y los precios del móvil. Ahora necesitamos insertar estos valores en la hoja de trabajo para esto, necesitamos usar bucles. El siguiente bucle hará el trabajo por mí.

A continuación se muestra el código general para almacenar valores en la hoja de trabajo.

Código:

 Sub ArrayList_Example2 () Dim MobileNames como ArrayList, MobilePrice como ArrayList Dim i As Integer Dim k As Integer Establecer MobileNames = New ArrayList 'Nombres de los MobileNames.Añadir "Redmi" MobileNames.Añadir "Samsung" MobileNames.Añadir "Oppo" MobileNames. Agregue "VIVO" MobileNames.Agregue "LG" Establecer MobilePrice = New ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 k = 0 Para i = 1 a 5 celdas (i, 1) .Value = MobileNames (k) Cells (i, 2) .Value = MobilePrice (k) k = k + 1 Siguiente i End Sub 

Cuando ejecutamos el código manualmente o usamos la tecla F5, obtendremos el siguiente resultado.