VBA – Asignar Rango a un Array
In this Article
Este tutorial demostrará cómo rellenar un array con un rango de celdas.
Asignar un rango a un array
Podemos rellenar fácilmente un array de Variant con un rango de celdas.
Asignar un valor de una sola columna
Este ejemplo recorrerá Range(«A1:A10»), asignando los valores de las celdas a un array:
Sub PruebaDeValoresArraySimple()
'Declarar el array como un array tipo Variant
Dim arRng() As Variant
'Declarar el número entero para almacenar el número de filas
Dim iRw As Integer
'Asignar rango a la variable del array
arRng = Range("A1:A10")
'recorrer el array a través de las filas - 1 a 10
For iRw = 1 To UBound(arRng)
'mostrar el resultado en la ventana inmediata
Debug.Print arRng(iRw, 1)
Next iRw
End Sub
El UBound se utiliza para establecer el límite superior del array (por ejemplo, 10) para que el bucle sepa que debe hacer un bucle 10 veces.
La función Debug.Print le mostrará el valor contenido en el array en la ventana inmediata.
Asignar el valor de múltiples columnas
Sub PruebaDeValoresArrayMultiples()
'Declarar la array como un array Variant
Dim arRng() As Variant
'Declarar el número entero para almacenar el número de filas
Dim iRw As Integer
'Declarar el número entero para almacenar el número de columnas
Dim iCol As Integer
'Asignar rango al Array Variant
arRng = Range("A1:C10")
'bucle a través de las filas - 1 a 10
For iRw = 1 To UBound(arRng, 1)
'Bucle a través de las 3 columnas
For iCol = 1 To UBound(arRng, 2)
'mostrar el resultado en la ventana inmediata
Debug.Print arRng(iRw, iCol)
Next iCol
Next iRw
End Sub
En el código anterior, hemos rellenado el array con los valores de Range(«A1:C10»).
El UBound se utiliza una vez más – pero esta vez se necesita dos veces – una para recorrer las filas, y luego otra para recorrer las columnas.
La función Debug.Print le mostrará el valor contenido en el array en la ventana inmediata.