Lista de matrices en VBA
Presentaremos las listas en VBA y cómo usarlas en nuestros programas con ejemplos.
Lista de matrices en VBA
Hay muchas situaciones en las que debemos almacenar datos en una estructura de datos para mostrarlos en mensajes o generarlos en una hoja de Excel. Para este propósito, VBA proporciona ArrayList
, una estructura de datos que podemos usar para almacenar datos.
Como todos sabemos, los arreglos tienen una longitud fija, pero cuando usamos ArrayList
para crear una variedad de valores, no está limitado por un tamaño fijo.
Para usar ArrayList
, debemos establecer la referencia porque es una biblioteca externa o un objeto. Hay dos tipos de matrices en VBA.
El primero es la matriz estática que necesita conocer el límite inferior y superior en la declaración de tiempo. Por otro lado, el segundo es un arreglo dinámico que no requiere un límite inferior o superior al momento de la declaración.
Aún así, debemos proporcionar la longitud después de declarar las matrices dinámicas mediante la instrucción redim
en VBA. Pero cuando usamos ArrayList
, no tenemos que declarar los límites superior o inferior.
Primero establezcamos la referencia antes de usar ArrayList
en nuestros ejemplos. Para establecer la referencia, debemos seguir los siguientes pasos.
-
Primero, debemos ir a la pestaña Desarrolladores y hacer clic en Visual Basic, como se muestra en la imagen a continuación.
-
Iremos al menú Herramientas y haremos clic en Referencia, como se muestra a continuación en la imagen.
-
Ahora, buscaremos la referencia
mscorlib.dll
, la seleccionaremos y haremos clic en Aceptar, como se muestra en la siguiente imagen.
Una vez que hayamos establecido la referencia del ArrayList
, pasaremos a un ejemplo en el que crearemos un ArrayList
de frutas. Primero, crearemos nuestro sub
, como se muestra a continuación.
# VBA
Sub testExample()
End Sub
Ahora, dentro de nuestra función, definiremos “frutas” como una “Lista de arreglos” y estableceremos la variable en una nueva “Lista de arreglos”, como se muestra a continuación.
# VBA
Sub testExample()
Dim fruits As ArrayList
Set fruits = New ArrayList
End Sub
Ahora, agregaremos elementos a la ArrayList
uno por uno utilizando el método Add
y le asignaremos directamente una cadena de nombres de frutas como queramos.
# VBA
Sub testExample()
Dim fruits As ArrayList
Set fruits = New ArrayList
fruits.Add "Mango"
fruits.Add "Apple"
fruits.Add "Banana"
End Sub
Ahora, si queremos llamar a cualquiera de estas frutas, podemos llamarlas rápidamente usando el orden de referencia en el que se agregan. Por ejemplo, si queremos obtener el primer fruto de ArrayList
, podemos llamarlo rápidamente de la misma manera que llamamos a cualquier objeto de una matriz usando el índice de esa matriz.
Intentemos mostrar frutas
en un cuadro de mensaje en el mismo orden que se muestra a continuación.
# VBA
Sub testExample()
Dim fruits As ArrayList
Set fruits = New ArrayList
fruits.Add "Mango"
fruits.Add "Apple"
fruits.Add "Banana"
MsgBox ("First Fruit is: " & fruits(0) & vbNewLine & "Second Fruit is: " & fruits(1) & vbNewLine & "Third Fruit is: " & fruits(2))
End Sub
Ahora, vamos a ejecutarlo y comprobar cómo funciona:
Como podemos ver en el ejemplo anterior, es muy fácil de usar y generar los valores de ArrayList
, y podemos almacenar fácilmente tantos valores en ArrayList
usando un método simple de Agregar
.