Este tutorial demonstrará como criar e trabalhar com Variant Arrays.
Tipo de Variante de Matriz
Uma matriz é um tipo de variável. Como com outras variáveis, as matrizes são declaradas usando a instrução Dim para uma matriz de nível de módulo ou procedimento ou a instrução Pública para uma matriz de nível global.
Uma matriz variante é uma matriz declarada como tendo um tipo de dados variante. Os tipos de dados variantes podem armazenar qualquer tipo de valor: texto, números, datas, hora ou objetos.
Vantagens da Variant Array
Os arrays variantes são especiais porque são mais fáceis de trabalhar do que os arrays típicos.
- Eles 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 o array com a função Array (se o tamanho do Array não for definido quando declarado).
- Você não precisa usar a instrução REDIM para redimensionar / preencher novamente a matriz (se o tamanho da matriz não for definido quando declarado).
Declarando uma matriz de variante
Para declarar uma matriz variante, você pode escrever esta declaração simples
1 | Dim varNames () |
Isso é considerado um dinâmico matriz de variantes.
Observe que você não precisa especificar o tipo de dados (presume-se que seja uma variante) ou o tamanho do array.
Atribuir valores à matriz variante
As matrizes de variantes podem conter qualquer tipo de valor: texto, números, datas, hora ou objetos.
Para atribuir valores a uma matriz variante, você pode usar a função Array:
12 | 'preencher a matrizvarNames () = Array ("Fred", "Wilma", "Barney", "Betty") |
Este método pode ser mais fácil para você do que usar o método padrão:
12345 | 'preencher cada elementovarNames (0) = "Fred"varNames (1) = "Wilma"varNames (2) = "Barney"varNames (3) = "Betty" |
Resize Variant Array
Matrizes de variantes dinâmicas podem mudar de tamanho em tempo de execução. Você não precisa usar o típico Redim ou Redim Preserve instruções necessárias para redimensionar matrizes padrão.
Exemplo de matriz de variante
Juntando tudo isso, este procedimento irá preencher e repovoar uma matriz variante:
123456789101112 | Sub TestArray ()'declara a variávelDim varNames () como variante'preencher a matrizvarNames () = Array ("Fred", "Wilma", "Barney", "Betty")'devolver os valoresMsgBox Join (varNames, ",")'repovoar a matrizvarNames () = Matriz (400, 500)'devolver os novos valoresMsgBox Join (varNames, ",")End Sub |
Nós povoamos o varNames array com 4 nomes e depois com 2 números. As caixas de mensagens aparecerão da seguinte maneira.