Variáveis ​​de array VBA

Tutoriais de matriz
Array Mega-Guidesim
Obter tamanho da matriz
Clear Array
Matriz de Filtro
Transpor Array
Matriz de retorno de função
Remover Duplicados

Cobrimos 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 array e como você pode usá-las em seu código.

O que é uma variável de matriz VBA?

Uma variável de matriz VBA armazena uma lista ou grupo de elementos. Uma variável de matriz VBA também pode ser considerada como 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 array 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 maneira:

123456789 Sub DeclaringAStaticArrayVariable ()Sapatos escuros (1 a 3) como cordaSapatos (1) = "Botas"Sapatos (2) = "Sandálias"Sapatos (3) = "Tênis"End Sub

Você pode exibir um determinado elemento na matriz, referindo-se ao seu número de índice, conforme mostrado no código a seguir:

1234567891011 Sub DeclaringAStaticArrayVariable ()Sapatos escuros (1 a 3) como cordaSapatos (1) = "Botas"Sapatos (2) = "Sandálias"Sapatos (3) = "Tênis"Debug.Print Shoes (1)End Sub

Se você pressionar F5 para executar seu código, obterá o seguinte resultado na janela 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 apenas em tempo de execução. Você não declara inicialmente o número de itens ou elementos na matriz como para a variável de matriz estática, mas você usa a palavra-chave ReDim para especificar o tamanho ou o número de itens que uma matriz dinâmica tem. Você pode então redimensionar sua matriz usando a palavra-chave ReDim:

123456789101112131415161718192021 Sub DeclaringADynamicArrayVariable ()Dim differentvegetables () As StringReDim vegetais diferentes (3)diferentes vegetais (1) = "cenouras"diferentes vegetais (2) = "abóbora"diferentes vegetais (3) = "butternut"MsgBox Join (diferentes vegetais, vbCr)ReDim vegetais diferentes (4)diferentes vegetais (1) = "cenouras"diferentes vegetais (2) = "abóbora"diferentes vegetais (3) = "butternut"diferentes vegetais (4) = "repolho"MsgBox Join (diferentes vegetais, vbCr)End Sub

Ao executar esse código, você obtém a caixa de mensagem com todos os itens na matriz que foi especificada usando a palavra-chave ReDim e, em seguida, outra caixa de mensagem mostrando o número atualizado de itens na matriz.

O resultado é:

wave wave wave wave wave