VBA – Variáveis de Matriz

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on August 23, 2023
Array Tutorials
Array Mega-Guideyes
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:

vbe matriz estatica calcados

 

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 é:

vegetais primeira saida

vegetais segunda saida

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA