Matriz dinámica en Excel VBA

Buenas noches, soy Miguel y hoy os traigo un nuevo post.

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

Agregue algunos números a la columna A.

Matriz dinámica en Excel VBA

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 llamada números. También declare dos variables de tipo Integer. Un tamaño llamado y otro llamado i.

Oscuro números () Cómo Entero, Talla Cómo Entero, me Cómo Entero

Nota: La matriz aún no está dimensionada. aquí si los números, el tamaño y yo se eligen al azar, puede usar cualquier nombre. Recuerde verificar estos nombres en el resto de su código.

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

size = WorksheetFunction.CountA (Worksheets (1) .Columns (1))

3. Ahora sabemos el tamaño de la matriz y podemos cambiar su tamaño. 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 arco.

Para i = 1 Para Talla
números (i) = Celdas (i, 1) .Valor
Entonces me

5. Mostramos el último elemento del arreglo 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 de la hoja de trabajo.

Resultado:

Último elemento de la matriz

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

Añade un número

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

Resultado de matriz dinámica

Conclusión: Excel VBA redimensionó automáticamente 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 que creó anteriormente:

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

Resultado:

No conservado

La matriz está vacía.

10. Cuando desee mantener los datos en la matriz existente cuando cambie su tamaño, use la palabra clave Keep.

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

Resultado:

Con preservar

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página utiliza Cookies. Más info