Matriz dinámica en Excel VBA - Macros de Excel fáciles

Tabla de contenido

Si el tamaño de su matriz aumenta y no desea corregir el tamaño de la matriz, puede usar el ReDim palabra clave. Excel VBA luego cambia el tamaño de la matriz automáticamente.

Agregue algunos números a la columna A.

Coloque un botón de comando en su hoja de trabajo y agregue las siguientes líneas de código:

1. Primero, declaramos la matriz denominada números. También declare dos variables de tipo Integer. Un tamaño con nombre y otro con nombre i.

Dim números () como entero, tamaño como entero, i como entero

Nota: la matriz aún no tiene tamaño. Los números, el tamaño y yo se eligen al azar aquí, puede usar cualquier nombre. Recuerde hacer referencia a estos nombres en el resto de su código.

2. A continuación, determinamos el tamaño de la matriz y lo almacenamos en la variable tamaño. Puede utilizar la función CountA de la hoja de trabajo para esto. Agregue la siguiente línea de código:

size = WorksheetFunction.CountA (Hojas de trabajo (1) .Columnas (1))

3. Ahora conocemos el tamaño de la matriz y podemos redimensionarla. Agregue la siguiente línea de código:

ReDim números (tamaño)

4. A continuación, inicializamos cada elemento de la matriz. Usamos un bucle.

Para i = 1 A medida
números (i) = Celdas (i, 1) .Valor
Siguiente yo

5. Mostramos el último elemento de la matriz usando un MsgBox.

Números de MsgBox (tamaño)

6. Salga del Editor de Visual Basic y haga clic en el botón de comando en la hoja.

Resultado:

7. Ahora, para ver claramente por qué esto se llama matriz dinámica, agregue un número a la columna A.

8. Vuelva a hacer clic en el botón de comando.

Conclusión: Excel VBA ha cambiado automáticamente el tamaño de esta matriz dinámica.

9. Cuando usa la palabra clave ReDim, borra todos los datos existentes almacenados actualmente en la matriz. Por ejemplo, agregue las siguientes líneas de código al código creado anteriormente:

Números ReDim (3)
Números de MsgBox (1)

Resultado:

La matriz está vacía.

10. Cuando desee conservar los datos de la matriz existente al redimensionarla, utilice la palabra clave Preserve.

ReDim Preserve números (3)
Números de MsgBox (1)

Resultado:

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave