MATRICES MULTIDIMENSIONALES EN VBA. EJEMPLO PRÁCTICO CON DOS DIMENSIONES

Hola a todos:

Esta semana recibí una consulta sobre matrices (arrays) multidimensionales. En concreto sobre las matrices de 2 dimensiones, dado que la necesidad era para datos establecidos en una hoja Excel y los elementos o las dimensiones eran las filas y las columnas. La consulta era para saber cómo rellenar la matriz desde Excel.

Sobre matrices os dejo enlaces en microsoft y que creo que os pueden interesar interesantes:

Voy a ser breve con este ejemplo, porque lo que voy a realizar es el ejemplo de rellenar una matriz y pasar los datos de nuevo a Excel a otra hoja.

Vamos con el ejemplo:

MATRICES MULTIDIMENSIONALES EN VBA. EJEMPLO PRÁCTICO CON DOS DIMENSIONES

La idea es leer todos estos datos, pasarlos a una matriz (MiArray) y pasarlos a la hoja2 de nuestros archivo de ejemplo. Esto lo vamos a realizar con el siguiente código:

Option Explicit
Sub ARRAY_MULTIDIMENSIONAL()
'Declaramos variables
Dim i As Long, j As Long, final As Long, fin As Long
Dim n As Long, x As Long
With Sheets(1)
'Capturamos límite de fila y columna
final = Application.CountA(Sheets(1).Range("1:1"))
fin = Application.CountA(Sheets(1).Range("A:A"))
'Redimensionamos nuestra matriz
ReDim MiArray(1 To fin, 1 To final)
'Rellenamos matriz
For i = 1 To fin
For j = 1 To final
MiArray(i, j) = Sheets(1).Cells(i, j)
Next j
Next i
End With
'Pasamos los datos de la matriz a la hoja2
For n = 1 To fin
For x = 1 To final
Sheets(2).Select
Sheets(2).Cells(n, x) = MiArray(n, x)
Next x
Next n
End Sub

El resultado es el esperado, los datos de la hoja1 pasan a la hoja2. Obviamente, este ejercicio es muy sencillo, pero es útil para saber cómo funciona y se comportan las matrices.

Si necesitamos modificar el contenido de lo que estamos pasando a la matriz, podemos utilizar condicionales o cualquier otra estructura para indicar mediante una regla qué datos deseamos modificar o leer.

Y esto ha sido todo, es un post corto, pero que aclara perfectamente cómo utilizar este tipo de matrices, cómo llenarlas, cómo leerlas y como “moverlas”.

Descarga el archivo de ejemplo pulsando en: MATRICES MULTIDIMENSIONALES EN VBA. EJEMPLO PRÁCTICO CON DOS DIMENSIONES

¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!

Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies

Anuncios

¿Te ha gustado?, Realiza un comentario.

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.