Usando matrizes
Você pode declarar uma matriz para trabalhar com um conjunto de valores do mesmo tipo de dados. Uma matriz é uma única variável com muitos compartimentos para armazenar valores, enquanto uma variável típica tem apenas um compartimento de armazenamento no qual pode armazenar apenas um valor. Consulte a matriz como um todo quando você quiser se referir a todos os valores que ela contém ou você pode se referir a seus elementos individuais.
Por exemplo, para armazenar despesas diárias para cada dia do ano, você pode declarar uma variável de matriz com 365 elementos, em vez de declarar 365 variáveis. Cada elemento em uma matriz contém um valor. A instrução a seguir declara a variável de matriz com 365 elementos. Por padrão, uma matriz é indexada começando com zero, portanto, o limite superior da matriz é 364 em vez de 365.
Dim curExpense(364) As Currency
Para definir o valor de um elemento individual, especifique o índice do elemento. O exemplo a seguir atribui um valor inicial de 20 a cada elemento na matriz.
Sub FillArray()
Dim curExpense(364) As Currency
Dim intI As Integer
For intI = 0 to 364
curExpense(intI) = 20
Next
End Sub
Alterando o limite inferior
Use a instrução Base de Opções na parte superior de um módulo para alterar o índice padrão do primeiro elemento de 0 para 1. No exemplo a seguir, a instrução Base de Opções altera o índice do primeiro elemento e a instrução Dim declara a variável de matriz com 365 elementos.
Option Base 1
Dim curExpense(365) As Currency
Você também pode definir explicitamente o limite inferior de uma matriz usando uma cláusula To , conforme mostrado no exemplo a seguir.
Dim curExpense(1 To 365) As Currency
Dim strWeekday(7 To 13) As String
Armazenar valores variant em matrizes
Há duas maneiras de criar matrizes de valores Variant . Uma maneira é declarar uma matriz de tipo de dados Variant, conforme mostrado no exemplo a seguir:
Dim varData(3) As Variant
varData(0) = "Claudia Bendel"
varData(1) = "4242 Maple Blvd"
varData(2) = 38
varData(3) = Format("06-09-1952", "General Date")
A outra maneira é atribuir a matriz retornada pela função Array a uma variável Variant , conforme mostrado no exemplo a seguir.
Dim varData As Variant
varData = Array("Ron Bendel", "4242 Maple Blvd", 38, _
Format("06-09-1952", "General Date"))
Você identifica os elementos em uma matriz de valores Variant por índice, não importa qual técnica você use para criar a matriz. Por exemplo, a instrução a seguir pode ser adicionada a qualquer um dos exemplos anteriores.
MsgBox "Data for " & varData(0) & " has been recorded."
Usando matrizes multidimensionais
No Visual Basic, você pode declarar matrizes com até 60 dimensões. Por exemplo, a instrução a seguir declara uma matriz bidimensional de 5 por 10.
Dim sngMulti(1 To 5, 1 To 10) As Single
Se você pensar na matriz como uma matriz, o primeiro argumento representa as linhas e o segundo argumento representa as colunas.
Usar aninhado para... Próximas instruções para processar matrizes multidimensionais. O procedimento a seguir preenche uma matriz bidimensional com valores únicos .
Sub FillArrayMulti()
Dim intI As Integer, intJ As Integer
Dim sngMulti(1 To 5, 1 To 10) As Single
' Fill array with values.
For intI = 1 To 5
For intJ = 1 To 10
sngMulti(intI, intJ) = intI * intJ
Debug.Print sngMulti(intI, intJ)
Next intJ
Next intI
End Sub
Confira também
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.