VBA ArrayList

Em vba, construímos coleções de tipos de dados, variáveis ​​de funções e outras instruções importantes, mas semelhante a isso temos uma lista de matrizes em VBA na qual um usuário pode modificar e colocar suas próprias coleções de variáveis ​​e funções definidas pelo usuário em uma matriz palavras-chave para a lista de array para projetá-lo.

Excel VBA ArrayList

VBA ArrayList é um tipo de estrutura de dados que usamos no VBA para armazenar os dados. ArrayList no Excel VBA é uma classe usada para criar uma matriz de valores. Ao contrário dos arrays tradicionais, onde esses arrays têm comprimento fixo, mas Array List não tem comprimento fixo.

VAB ArrayList não faz parte da lista VBA, mas sim uma biblioteca ou objeto externo que precisamos definir como referência antes de começarmos a acessá-lo.

Os arrays em VBA são parte integrante de qualquer linguagem de codificação. Ao usar arrays no Excel, podemos armazenar dados com um único nome de variável, declarando o “limite inferior e limite superior”.

Com matrizes regulares, precisamos decidir o limite inferior e o limite superior da matriz, precisamos decidir com antecedência no momento de declarar a variável no caso de matrizes estáticas e no caso de matrizes dinâmicas, precisamos decidir o comprimento do array depois de declarar o array usando a instrução “ReDim” no VBA.

No entanto, temos mais uma opção onde podemos armazenar o número “N” de valores sem declarar o limite inferior e o limite superior. Neste artigo, mostraremos a você essa opção, ou seja, “VBA ArrayList”

Para definir a referência ao objeto VBA ArrayList, siga as etapas abaixo.

Etapa 1: Vá para Ferramentas> Referências

Etapa 2: A janela de referência da biblioteca de objetos aparecerá na sua frente. Selecione a opção “ mscorlib.dll

Etapa 3: Clique em OK também. Agora podemos acessar o VBA ArrayList.

Exemplos de VBA ArrayList no Excel

Abaixo estão os exemplos de Excel VBA ArrayList.

Você pode baixar este modelo VBA ArrayList Excel aqui - modelo VBA ArrayList Excel

Exemplo # 1 - Criar instância de VBA ArrayList

Como o Excel VBA ArrayList é um objeto externo, precisamos criar uma instância para começar a usá-lo. Para criar a instância siga os passos abaixo.

Etapa 1: Declare a variável como “ ArrayList ”.

Código:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList End Sub 

Etapa 2: Como Array List é um objeto, precisamos criar uma nova instância.

Código:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= New ArrayList End Sub 

Passo 3: Agora podemos continuar armazenando valores na variável de array usando o método “Add”. Na imagem abaixo, adicionei três valores.

Código:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= New ArrayList ArrayValues.Add "Hello" 'Primeiro valor ArrayValues.Add "Good"' Segundo valor ArrayValues.Add "Morning" 'Three Value End Sub 

Agora atribuímos três valores, como identificamos qual é o primeiro e como podemos mostrar os valores ou usá-los de acordo com as nossas necessidades.

Se você se lembra do tipo de array tradicional, nos referimos ao primeiro valor de array como este “ArrayName (0)”

Da mesma forma, podemos usar a mesma técnica aqui também.

ArrayValue (0) = “Olá”
ArrayValue (1) = “Bom”
ArrayValue (2) = “Manhã”

Vamos mostrar isso na caixa de mensagem.

Código:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= New ArrayList ArrayValues.Add "Hello" 'Primeiro valor ArrayValues.Add "Good"' Segundo valor ArrayValues.Add "Morning" 'Três valores MsgBox ArrayValues ​​(0) & vbNewLineValues ​​(0) & vbNewLine 1) & vbNewLine & ArrayValues ​​(2) End Sub 

Agora execute o código usando a tecla F5 ou manualmente então, veremos “Hello”, “Good” e “Morning” na caixa de mensagem do VBA.

Assim, podemos armazenar qualquer número de valores com Array List Object.

Exemplo # 2 - Armazenar valores em células usando VBA ArrayList

Vamos ver o exemplo de armazenamento dos valores atribuídos às células na planilha. Agora, olhe para o código VBA abaixo.

Código:

 Sub ArrayList_Example2 () Dim MobileNames As ArrayList, MobilePrice As ArrayList Dim i As Integer Dim k As Integer Definir MobileNames = New ArrayList 'Nomes do móvel MobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Adicionar "VIVO" MobileNames.Add "LG" Set MobilePrice = Novo ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 End Sub 

Com duas listas de matriz, armazenei os nomes do celular e os preços do celular. Agora precisamos inserir esses valores na planilha para isso, precisamos usar loops. O loop abaixo fará o trabalho para mim.

Abaixo está o código geral para armazenar valores na planilha.

Código:

 Sub ArrayList_Example2 () Dim MobileNames As ArrayList, MobilePrice As ArrayList Dim i As Integer Dim k As Integer Set MobileNames = New ArrayList 'Nomes do móvel MobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Adicionar "VIVO" MobileNames.Add "LG" Definir MobilePrice = Novo ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 k = 0 Para i = 1 a 5 células (i, 1) .Value = MobileNames (k) Células (i, 2) .Value = MobilePrice (k) k = k + 1 Next i End Sub 

Quando executamos o código manualmente ou usando a tecla F5, obteremos o resultado abaixo.