VBA – Matriz Tipo Variant

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on September 14, 2023

Este tutorial demonstrará como criar e trabalhar com matrizes tipo variant.

Matriz Tipo Variant

Uma matriz é um tipo de variável. Como ocorre com outras variáveis, as matrizes são declaradas usando a declaração Dim para uma matriz de nível de módulo ou procedimento, ou a declaração Public para uma matriz de nível global.

Uma matriz tipo variant é uma matriz declarada como tendo um tipo de dados Variant. Os tipos de dados Variant podem armazenar qualquer tipo de valor: texto, números, datas, hora ou objetos.

Vantagens da Matriz Tipo Variant

As matrizes tipo variant são especiais porque são mais fáceis de trabalhar do que  as matrizes comuns.

  1. Elas são mais fáceis de declarar.
  2. Você não precisa se preocupar com o tipo de dados que está sendo inserido na matriz (por exemplo, se uma célula contém texto ou números).
  3. Você pode preencher a matriz com a função Array (se o tamanho da matriz não for definido quando declarado).
  4. Não é necessário usar a instrução REDIM para redimensionar/repovoar a matriz (se o tamanho da matriz não for definido quando declarado).

Declaração de uma Matriz Tipo Variant

Para declarar uma matriz tipo variant, você pode escrever esta instrução simples:

Dim varNomes()

Isso é considerado uma matriz tipo variant dinâmica.

Observe que não é necessário especificar o tipo de dados (presume-se que seja variant) ou o tamanho da matriz.

Atribuir Valores à Matriz Tipo Variant

As matrizes tipo variant podem conter qualquer tipo de valor: texto, números, datas, hora ou objetos.

Para atribuir valores a uma matriz tipo variant, você pode usar a Função Array:

'preencher a matriz
 varNomes() = Array("Fred", "Wilma", "Barney", "Betty")

Esse método pode ser mais fácil para você do que usar o método padrão:

'preencher cada elemento
   varNomes(0) = "Fred"
   varNomes(1) = "Wilma"
   varNomes(2) = "Barney"
   varNomes(3) = "Betty"

Redimensionar Matriz Tipo Variant

As matrizes tipo variant dinâmicas podem mudar de tamanho em tempo de execução. Você não precisa usar as instruções típicas Redim ou Redim Preserve necessárias para redimensionar matrizes padrão.

Exemplo de Matriz Tipo Variantes

Juntando tudo isso, este procedimento preencherá e preencherá novamente um array de variantes:

Sub TestArray()
'declarar a variável
    Dim varNomes() As Variant
'preencher a matriz
    varNomes() = Array("Fred", "Wilma", "Barney", "Betty")
'retornar os valores
    MsgBox Join(varNomes, ",")
'preencher novamente a matriz
    varNomes() = Array(400, 500)
'retornar os novos valores
    MsgBox Join(varNomes, ",")
End Sub

Preenchemos a matriz varNomes com 4 nomes e, em seguida, com 2 números. As caixas de mensagem serão exibidas da seguinte forma:

arr var msg 1

vba arr msg 2

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