VBA – Atribuir um Intervalo a uma Matriz
In this Article
Este tutorial demonstrará como preencher uma matriz com um intervalo de células.
Atribuir Intervalo à Matriz
Podemos facilmente preencher uma matriz Variant com um intervalo de células.
Atribuir Valor de uma Única Coluna
Este exemplo percorrerá o intervalo (“A1:A10”), atribuindo os valores das células a uma matriz:
Sub TestarArrayValoresUnico()
'Declarar a array como a array variant
Dim arRng() As Variant
'Declarar o número inteiro para armazenar o número de linhas
Dim iRw As Integer
'Atribuir intervalo a uma variável de matriz
arRng = Range("A1:A10")
'percorrer as linhas - 1 a 10
For iRw = 1 To UBound(arRng)
'mostrar o resultado na janela de verificação imediata
Debug.Print arRng(iRw , 1)
Next iRw
End Sub
A função UBound é usado para definir o limite superior da matriz (por exemplo, 10), de modo que o loop saiba que deve ser repetido 10 vezes.
A função Debug.Print lhe mostrará o valor contido na matriz na janela de verificação imediata.
Atribuir Valor de Várias Colunas
Sub TestarArrayValoresMultiplos()
'Declarar a array como a array variant
Dim arRng() As Variant
'Declarar o número inteiro para armazenar o número de linhas
Dim iRw As Integer
'Declarar o número inteiro para armazenar o número de colunas
Dim iCol as Integer
'Atribuir intervalo a uma variável de matriz
arRng = Range("A1:C10")
'percorrer as linhas - 1 a 10
For iRw = 1 To UBound(arRng,1)
'agora - enquanto estiver na linha 1, faça um loop pelas 3 colunas
For iCol = 1 to UBound(arRng,2)
'mostrar o resultado na janela de verificação imediata
Debug.Print arRng(iRw, iCol)
Next iCol
Next iRw
End Sub
No código acima, preenchemos a matriz com os valores em Range(“A1:C10”).
O UBound é usado mais uma vez, mas, desta vez, é necessário duas vezes: uma para percorrer as linhas e outra para percorrer as colunas.
A função Debug.Print mostrará o valor contido na matriz na janela de verificação imediata.