VBA – Matriz Tipo Variant
In this Article
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.
- Elas são mais fáceis de declarar.
- 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).
- Você pode preencher a matriz com a função Array (se o tamanho da matriz não for definido quando declarado).
- 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: