¿cómo agregar un rango completo a una matriz en vba?
Pasos para agregar un rango a una matriz en VBA
- Primero, debe declarar una matriz dinámica utilizando el tipo de datos variante.
- Luego debe declarar otra variable para almacenar el número de celdas en el rango y también usar este contador para el bucle.
- Después de eso, asigne el rango donde tiene un valor a la matriz.
- Desde aquí necesitamos crear un bucle para imprimir todos los valores en la ventana inmediata para que pueda ver que todos los valores están asignados a la matriz.
Sub myArrayRange() Dim iAmount() As Variant Dim iNum As Integer iAmount = Range("A1:A11") For iNum = 1 To UBound(iAmount) Debug.Print iAmount(iNum, 1) Next iNum End Sub
Y cuando ejecuta el código anterior, le muestra todos los valores que asignó del rango (“A1:A11) a la matriz iAmount y lo imprime en la ventana inmediata .
De la misma forma, también puedes utilizar una matriz multidimensional.
Sub myArrayRange() Dim iAmount() As Variant Dim iNum1 As Integer iAmount = Range("A1:B13") For iNum1 = 1 To UBound(iAmount, 1) Debug.Print iAmount(iNum1, 1) & " " & iAmount(iNum1, 2) Next iNum1 End Sub
O también puedes hacerlo de esta manera.
Sub myArrayRange() Dim iAmount() As Variant Dim iNum1 As Integer Dim iNum2 As Integer iAmount = Range("A1:B13") For iNum1 = 1 To UBound(iAmount, 1) For iNum2 = 1 To UBound(iAmount, 2) Debug.Print iAmount(iNum1, iNum2) Next iNum2 Next iNum1 End Sub