Matrices VBA

Matrices de Excel VBA

En general, se supone que una variable contiene un solo valor a la vez, pero cuando queremos almacenar varios valores en una sola variable, ese tipo de variable se conoce como variable de matriz, para usar una variable de matriz en VBA, debemos declarar o definirlo primero, podemos definir la variable de matriz con su longitud o sin su longitud.

Supongamos que tenemos datos que contienen cientos de filas y varias columnas y necesitamos crear un código que utilice los datos. Ahora, en este caso, tenemos que crear múltiplos de la variable que buscará el valor de las celdas y se lo dará al programa. Esto será muy agotador para crear tanta variable y, por lo tanto, en tales casos, usamos Arrays en Excel.

Las matrices mantienen el conjunto de datos en su memoria y no necesitan que declaremos la variable para cada uno de los valores que deben obtenerse de los datos. La necesidad de usar matrices se debe al hecho de que en una variable de Excel están diseñadas para contener un valor a la vez, sin embargo, cuando una variable almacena varios valores, se convierte en una matriz.

  • Crear una matriz es como crear una unidad de memoria separada que pueda contener los datos. Para crear una matriz, los datos deben ser del mismo tipo.
  • Las matrices que le damos a excel deben corresponder al tipo de datos que tenemos. Supongamos que si tenemos datos que solo tienen filas, en este caso, usaremos la "matriz unidimensional" y si los datos también contienen columnas, entonces tenemos que usar "matrices bidimensionales", ya que solo son capaces de contener los valores. de las filas y columnas.
  • Las matrices también deben funcionar para funcionar como matrices dinámicas o matrices estáticas. Como le damos rango dinámico a la fórmula, también podemos hacer que la variable Arrays. Los arreglos dinámicos tendrán la funcionalidad de incluir un número infinito de filas y columnas. En caso de que las matrices que hemos definido sean de un tipo estático, solo pueden contener un número limitado de filas y columnas según se definió en el momento de crear la matriz.

Explicación

Arregle el trabajo sobre la “regla matemática de la matriz”, es decir, identifican los datos solo por su ubicación. Supongamos que si tenemos que hacer que VBA entienda que necesitamos "20" en la celda "B3", entonces tenemos que escribir el código de la ubicación como (3, 2) donde el primer valor representa la ubicación de la fila y el segundo valor representa el número de columna. En el mundo de Excel, este código de ubicaciones se denomina "límite superior" y "límite inferior". De forma predeterminada, la ubicación en Excel comienza desde uno y no desde cero, por lo que Excel ve "A1" como la fila número 0 y no la fila número 1.

Del mismo modo, las columnas comienzan desde cero y no desde uno.

Estas matrices se pueden definir como una matriz estática o una matriz dinámica. Si los definimos como matriz estática, esto significa que no pueden contener más que las variables definidas al codificarlas. Si no estamos seguros del valor que deben memorizar las matrices, creamos matrices dinámicas y, en tales casos, pueden contener un número infinito de valores.

Ahora, después de haber seleccionado el tipo de matriz que se requiere, ahora tendremos que ingresar los datos en estas matrices.

Estos datos deben proporcionarse uno por uno para sobresalir de las siguientes maneras.

Una vez que los datos se almacenan en estos arreglos, están listos para usarse como una variable en la codificación de VBA.

Lista de los 5 tipos principales de matrices

  1. Matrices estáticas
  2. Matriz dinámica
  3. Matriz unidimensional
  4. Matriz bidimensional
  5. Matriz multidimensional

Veamos cada uno de ellos en detalle.

# 1 - Matrices estáticas

Una matriz que tiene un recuento de valor predefinido que se puede almacenar en ella.

# 2 - Matriz dinámica

Matriz con un recuento de valor no predefinido que puede manejar.

# 3 - Matriz unidimensional

Una matriz que solo puede contener datos de filas o columnas.

# 4 - Matriz bidimensional

Una matriz que puede almacenar un valor de las filas y columnas.

# 5 - Matriz multidimensional

¿Cómo usar matrices en VBA (con ejemplos)?

Puede descargar esta plantilla de Excel Arrays en VBA aquí - Arrays in VBA Excel Template

Las matrices se pueden usar en muchas situaciones, pero deben usarse cuando el número de variables que se van a declarar es grande y no es factible declararlas.

A continuación se muestran algunos de los ejemplos, pero antes de pasar a los ejemplos, aprenderemos a abrir el editor de VBA mediante la tecla de método abreviado.

Esto abrirá el editor VBA, desde allí debemos ingresar el código en “Esta hoja de trabajo”.

Ejemplo 1

Elija el tipo de matriz que desee, ¿debería ser una matriz dinámica o estática?

Si necesitamos una matriz dinámica, definiremos la dimensión como "variante".

Si necesitamos una matriz estática, definiremos una dimensión como "estática".

Ejemplo # 2

Defina las columnas y filas que desea que almacene la matriz.

Si hemos ingresado "1" en el corchete, esto significa que la matriz puede contener 2 filas de valor, ya que el conteo de Excel comienza desde cero.

Si también necesitamos columnas y filas, entonces necesitamos definir ambas.

Aquí "1 a 2" significa que dos filas y "1 a 3" significa que tres columnas.

Aquí hemos cambiado la regla de cómo Excel cuenta filas y le pedimos que cuente desde "1" y no desde cero.

Ejemplo # 3

La entrada de datos en la matriz.

Los datos deben introducirse en las celdas. Aquí los datos deben ingresarse en forma de (I, j) donde "I" significa la fila y "J" significa la columna.

Entonces, "a (1,1") significa que la celda "A1"

Ejemplo # 4

Cerrando el código.

Después de ingresar los datos para la matriz, el último paso será cerrar el código.

Cosas para recordar

  • De forma predeterminada, Excel contará las filas comenzando desde cero. Esto significa que "2" en lugar de "I" significará 3 filas y no 2 filas. Esto mismo se aplica a "J".
  • Los datos que se deben ingresar para la matriz deben comenzar desde (0, 0), es decir, desde la primera fila y la primera columna.
  • En caso de que estemos usando los arreglos dinámicos, entonces esto necesitará la función de “VBA REDIM” para definir el número de filas y columnas que deben ser memorizadas.
  • En caso de crear una matriz bidimensional, entonces tenemos que usar “Integer” como dimensión.
  • El archivo de Excel debe guardarse en la versión que sea "compatible con macros"; de lo contrario, la codificación que hicimos en VBA desaparecerá y no se ejecutará la próxima vez.