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ê deseja se referir a todos os valores que ela contém ou 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

Alterar o limite inferior

Use a instrução Option Base 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 Option Base 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 Para , 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 do 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, independentemente da técnica que você usa para criar a matriz. Por exemplo, a instrução a seguir pode ser adicionada a um dos exemplos anteriores.

MsgBox "Data for " & varData(0) & " has been recorded." 

Usando matrizes multidimensionais

Em Visual Basic, você pode declarar matrizes com até 60 dimensões. Por exemplo, a instrução a seguir declara uma matriz bidimensional, 5 por 10.

Dim sngMulti(1 To 5, 1 To 10) As Single 

Se você pensar na matriz como uma matriz, o primeiro argumento representará as linhas e o segundo argumento representará as colunas.

Usar aninhado para... Instruções a seguir para processar matrizes multidimensionais. O procedimento a seguir preenche uma matriz bidimensional com valores Single.

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.