Tamaño de matriz de VBA: guía paso a paso con ejemplos

En este artículo, proporcionamos una guía paso a paso para encontrar el tamaño de la matriz utilizando el código VBA.

¿Cómo encontrar el tamaño de una matriz usando el código VBA?

Siga los pasos para encontrar el tamaño de la matriz usando el código Excel VBA.

  • Paso 1: Comencemos con lo básico primero, declare una variable en VBA como el tipo de datos variante.

Código:

Sub Array_Size () Dim MyArray como variante End Sub
  • Paso 2: Para esta variable use la función ARRAY y asigne algunos valores como se muestra a continuación.

Código:

Sub Array_Size () Dim MyArray como variante MyArray = Array ("Ene", "Feb", "Mar", "Abr", "Mayo", "Jun", "Jul") Fin Sub
  • Paso 3: Ok, hemos asignado algunos valores al nombre de la matriz "MyArray".

Supongamos que si necesitamos escribir un bucle para almacenar estos valores de matriz en las celdas, entonces debemos decidir cuántas veces debe ejecutarse el bucle. Esto depende de la cantidad de valores que tenga la matriz.

Bien, ahora mire la cantidad de valores asignados al nombre de la matriz "MyArray", hay un total de 7 valores asignados a la matriz, por lo que ahora sabemos cuántas veces debe ejecutarse el ciclo para almacenar los valores de una matriz en las celdas .

  • Paso 4: Declare otra variable como entero para escribir el bucle FOR en VBA.

Código:

Sub Array_Size () Dim MyArray como variante MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k Como entero para k = 1 a 7 Siguiente k Fin Sub
  • Paso 5: Ahí vamos, hemos abierto el bucle FOR comenzando de 1 a 7, dentro del bucle escribe la propiedad CELLS para almacenar como se muestra a continuación.

Código:

Sub Array_Size () Dim MyArray como variante MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k Como entero para k = 1 a 7 Celdas (k, 1) .Value = MyArray (k) Siguiente k End Sub
  • Paso 6: Ok, ahora ejecute el código línea por línea presionando una tecla de función F8. Al presionar la tecla F8 por primera vez, se iniciará la macro.
  • Paso 7: Presione F8 ahora saltará a la línea de asignación de valores de matriz.
  • Paso 8: A partir de ahora, el nombre de la matriz "MyArray" no tiene valores, presione F8, y todos los valores mencionados se asignarán a la variable de la matriz.
  • Paso 9: Ahora el bucle comenzará a ejecutarse y presione la tecla F8 2 veces y vea qué valor obtenemos en la celda A1.
  • Ups !!! Espere, nuestro primer valor en la variable de matriz es "Jan", pero tenemos el resultado como el segundo valor "Feb" cuando aún se está ejecutando el primer ciclo de valor.
  • Paso 10: Esto se debe a que cuando el recuento de los valores de la matriz comienza desde cero, no desde 1, por lo que debemos incluir el ciclo de inicio como cero.
  • Paso 11: Una vez que la posición inicial del bucle se reduce en un final similar, también debería reducirse en 1, así que haga que el final sea 6 en lugar de 7.
  • Paso 12: Una vez que el inicio y el final del ciclo decidieron un ajuste más que debemos hacer, es decir, en la propiedad CELLS hemos usado la variable "k" como el selector de celda dinámica, pero como nuestro ciclo comienza desde cero, no hay celda que comience con cero. , entonces agregue más 1 a la variable "k".

Código:

Sub Array_Size () Dim MyArray como variante MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k Como entero para k = 0 a 6 Celdas (k + 1, 1). Valor = MyArray (k) Siguiente k End Sub
  • Paso 13: Entonces, al ejecutar el ciclo por primera vez, el valor "k" es cero, y como hemos agregado más 1, el valor "k" será 1, por lo que se refiere a la celda A1.
  • Paso 14: Ahora ejecute el código y todos los valores de la matriz se almacenarán en celdas.

Sin embargo, en este caso, hemos decidido el tamaño inicial y final del bucle manualmente, pero el tamaño de la matriz se puede determinar fácilmente usando las funciones LBOUND y UBOUND.

Encontrar el tamaño de una matriz automáticamente

  • Paso 1: Cuando incluimos el punto inicial y final del bucle en lo anterior, hemos contado manualmente el número de valores que tiene la matriz, pero para iniciar la matriz, use la función LBOUND y, para ello, pase el nombre de la variable “MyArray”.
  • Paso 2: Y para determinar el último tamaño de la matriz, use la función UBOUND e ingrese el nombre de la matriz "MyArray".

Código:

Sub Array_Size () Dim MyArray como variante MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k As Integer For k = Lboubd (MyArray ) A celdas UBound (MyArray) (k + 1, 1) .Value = MyArray (k) Siguiente k End Sub
  • Paso 3: Ok, ahora comience el código línea por línea y presione la tecla F8 hasta que llegue al punto de inicio del bucle.
  • Paso 4: Ahora primero coloque el cursor en “LBound (MyArray)” y vea lo que dice.
  • Paso 5: El número de punto de partida dice que es cero, ahora coloque el cursor en “UBound (MyArray)” y vea lo que dice.

Dice que el tamaño de la matriz es 6, así como mencionamos comenzar y finalizar manualmente, UBOUND y LBOUND seleccionan automáticamente los números por nosotros.

Articulos interesantes...