Conjunto dinámico

Si el tamaño de tu array aumenta y no quieres fijar el tamaño del array, puedes usar la palabra clave ReDim . Excel VBA entonces cambia el tamaño del array automáticamente.

Añade algunos números a la columna A.

Coloca un botón de comando en tu hoja de trabajo y añade las siguientes líneas de código:

1. Primero, declaramos la matriz con nombre de números. También declaramos dos variables de tipo Entero. Una llamada tamaño y otra llamada i.

Números tenues() Como Entero, tamaño Como Entero, i Como Entero

Nota: la matriz no tiene tamaño todavía. Los números, el tamaño y yo somos elegidos al azar aquí, puedes usar cualquier nombre. Recuerda referirte a estos nombres en el resto de tu código.

2. A continuación, determinamos el tamaño del conjunto y lo almacenamos en el tamaño variable. Puedes usar la función de la hoja de trabajo CountA para esto. Añade la siguiente línea de código:

Tamaño = Hoja de trabajoFunción.CuentaA(Hojas de trabajo(1).Columnas(1))

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

Números ReDim (tamaño)

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

Para i = 1 Para el tamaño números(i) = Células(i, 1).Valor Siguiente…

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 de la hoja.

Resultado:

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

8. Haga clic en el botón de comando de nuevo.

Conclusión: El Excel VBA ha cambiado automáticamente el tamaño de este conjunto dinámico.

9. Al usar la palabra clave ReDim, se borra cualquier dato existente que esté almacenado en la matriz. Por ejemplo, añada 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 quieras preservar los datos de la matriz existente al redimensionarla, usa la palabra clave Preservar.

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

Resultado:

Deja un comentario