Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 só pode armazenar um valor. Veja a matriz como um todo quando pretender fazer referência a todos os valores que contém ou pode fazer referência aos respetivos elementos individuais.
Por exemplo, para armazenar despesas diárias para cada dia do ano, pode declarar uma variável de matriz com 365 elementos, em vez de declarar 365 variáveis. Cada elemento numa matriz contém um valor. A instrução seguinte declara a variável de matriz com 365 elementos. Por predefinição, uma matriz é indexada a partir de zero, pelo que 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 seguinte 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
Alterar o limite inferior
Utilize a instrução Base de Opções na parte superior de um módulo para alterar o índice predefinido do primeiro elemento de 0 para 1. No exemplo seguinte, 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
Também pode definir explicitamente o limite inferior de uma matriz através de uma cláusula Para , conforme mostrado no exemplo seguinte.
Dim curExpense(1 To 365) As Currency
Dim strWeekday(7 To 13) As String
Armazenar valores de Variantes em matrizes
Existem duas formas de criar matrizes de valores de Variante . Uma forma é declarar uma matriz do tipo de dados Variante, conforme mostrado no exemplo seguinte:
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 forma é atribuir a matriz devolvida pela função Matriz a uma variável Variante , conforme mostrado no exemplo seguinte.
Dim varData As Variant
varData = Array("Ron Bendel", "4242 Maple Blvd", 38, _
Format("06-09-1952", "General Date"))
Identifica os elementos numa matriz de valores variantes por índice, independentemente da técnica que utilizar para criar a matriz. Por exemplo, a seguinte instrução pode ser adicionada a qualquer um dos exemplos anteriores.
MsgBox "Data for " & varData(0) & " has been recorded."
Utilizar matrizes multidimensionais
No Visual Basic, pode declarar matrizes com até 60 dimensões. Por exemplo, a seguinte instrução declara uma matriz bidimensional, 5 por 10.
Dim sngMulti(1 To 5, 1 To 10) As Single
Se considerar a matriz como uma matriz, o primeiro argumento representa as linhas e o segundo argumento representa as colunas.
Utilizar aninhado para... Instruções seguintes para processar matrizes multidimensionais. O procedimento seguinte 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.