VBA – Variáveis de Matriz
In this Article
Array Tutorials | |
---|---|
Array Mega-Guide | yes |
Get Array Size | |
Clear Array | |
Filter Array | |
Transpose Array | |
Function Return Array | |
Remove Duplicates | |
Fizemos uma introdução às variáveis e constantes em nosso tutorial introdutório Tipos de dados VBA – Variáveis e constantes. Neste tutorial, veremos o que são variáveis de matriz e como você pode usá-las em seu código.
O que é uma Variável de Matriz do VBA?
Uma variável de matriz do VBA armazena uma lista ou um grupo de elementos. Uma variável de matriz do VBA também pode ser considerada um grupo de variáveis, armazenadas com o mesmo nome e com o mesmo tipo de dados. Todos os elementos da matriz devem ser do mesmo tipo. Um exemplo seria uma lista de frutas. Uma matriz pode armazenar texto ou números. Você se refere a um elemento em uma matriz usando seu número de índice. Você pode declarar uma variável de matriz usando a palavra-chave Dim, Static, Public ou Private.
Variável de Matriz Estática
Uma variável de matriz Estática tem um tamanho fixo ou um número definido de itens na lista. Você declararia uma variável de matriz Estática da seguinte forma:
Sub DeclararVariavelMatrizEstatica()
Dim Calcados(1 To 3) As String
Calcados(1) = "Botas"
Calcados(2) = "Sandálias"
Calcados(3) = "Tênis"
End Sub
Você pode exibir um determinado elemento na matriz fazendo referência ao seu número de índice, conforme mostrado no código abaixo:
Sub DeclararVariavelMatrizEstatica()
Dim Calcados(1 To 3) As String
Calcados(1) = "Botas"
Calcados(2) = "Sandálias"
Calcados(3) = "Tênis"
Debug.Print Calcados(1)
End Sub
Se você pressionar F5 para executar seu código, obterá o seguinte resultado na janela de Verificação Imediata:
Variável de Matriz Dinâmica
O tamanho de uma variável de matriz dinâmica muda em tempo de execução e é definido, em outras palavras, somente em tempo de execução. Inicialmente, você não declara o número de itens ou elementos na matriz como na variável de matriz estática, mas usa a palavra-chave ReDim para especificar o tamanho ou o número de itens que uma matriz dinâmica tem. Em seguida, você pode redimensionar sua matriz usando a palavra-chave ReDim:
Sub DeclararVariavelMatrizDinamica()
Dim diferentesvegetais() As String
ReDim diferentesvegetais(3)
diferentesvegetais(1) = "cenouras"
diferentesvegetais(2) = "abóbora"
diferentesvegetais(3) = "beterraba"
MsgBox Join(diferentesvegetais, vbCr)
ReDim diferentesvegetais(4)
diferentesvegetais(1) = "cenouras"
diferentesvegetais(2) = "abóbora"
diferentesvegetais(3) = "beterraba"
diferentesvegetais(4) = "repolho"
MsgBox Join(diferentesvegetais, vbCr)
End Sub
Quando você executa esse código, obtém a caixa de mensagem com todos os itens da matriz que foi especificada usando a palavra-chave ReDim e, em seguida, obtém outra caixa de mensagem mostrando o número atualizado de itens na matriz.
O resultado é: