Objeto de coleção do VBA do Excel

Vimos que o VBA Dictionary e o VBA Array têm uma conexão semelhante com o VBA Collection. Na coleção VBA, podemos criar nossa própria coleção de grupos e fornecer o item e a chave para obter o valor armazenado nela. Enquanto no VBA Dictionary usamos o próprio dicionário no VBA, que cria nosso próprio dicionário que possui definição de palavras e valores como o dicionário normal. E o mesmo no VBA Array também, onde costumávamos criar um objeto de coleção com tamanho limitado.

A vantagem do VBA Collection é que não precisamos estender o tamanho de nenhum objeto que definimos aqui. Qualquer objeto criado no VBA Collection não possui limitações. E não precisamos alterar o tamanho de nenhum objeto como se pensássemos que isso requer.

Juntamente com a criação do objeto Adicionar coleção, também podemos usar os objetos Contagem, Item e Remover coleção.

Como criar um objeto de coleção no Excel VBA?

Abaixo estão os diferentes exemplos para criar objetos de coleção no Excel usando o código VBA.

Você pode baixar este modelo do Excel da coleção do VBA aqui - Modelo do Excel da coleção do VBA

Coleção VBA do Excel - Exemplo # 1

Neste exemplo, veremos como criar uma coleção de objetos no VBA. Para isso, siga as etapas abaixo:

Etapa 1: Vá para a janela VBA, na guia menu Inserir, selecione Módulo como mostrado abaixo.

Etapa 2: escreva a subcategoria do VBA Collection com o mesmo nome ou podemos escolher qualquer outro nome conforme nossa conveniência.

Código:

 Sub Excel_Collection1 () End Sub 

Etapa 3: Agora defina uma variável como Coleção em qualquer nome, como mostrado abaixo.

Código:

 Sub Excel_Collection1 () Dim ColObject As Collection End Sub 

Podemos escolher qualquer palavra, texto ou nome para definir uma variável, mas é recomendável definir isso no processo de executar a função primeiro.

Etapa 4: defina a variável definida como Nova coleção. Isso ajudará na ativação e configuração do objeto já definido como Coleção como Nova coleção.

Código:

 Sub Excel_Collection1 () Dim ColObject como conjunto de coleta ColObject = Nova coleção End Sub 

Etapa 5: vimos na descrição de diferentes objetos de coleção como Adicionar, Item , Contar e Remover . Agora vamos usar todos esses objetos para armazenar novos conteúdos. Primeiro, para adicionar, atribuiremos o ADD à variável definida ColObject .

Código:

 Sub Excel_Collection1 () Dim ColObject como conjunto de coleta ColObject = Nova coleção ColObject.Add End Sub 

Etapa 6: agora no ITEM, escolheremos um número de sequência que pode ser qualquer coisa. Aqui, estamos selecionando-o como 1.

Código:

 Sub Excel_Collection1 () Dim Dim ColObject como conjunto de coleta ColObject = Nova coleção ColObject.Add Item: = 1, End Sub 

Etapa 7: Na sintaxe da coleção VBA, precisamos inserir a CHAVE à qual podemos atribuir o ITEM. Aqui também podemos escolher qualquer coisa a ser adicionada no repositório VBA. Nós consideramos a palavra Newton aqui.

Código:

 Sub Excel_Collection1 () Dim ColObject como conjunto de coleta ColObject = Nova coleção ColObject.Add Item: = 1, Key: = "Newton" End Sub 

Etapa 8: podemos pular a parte Antes e Depois da Sintaxe. Agora, depois disso, atribuiremos a chave a uma variável de objeto de coleção.

Código:

 Sub Excel_Collection1 () Dim ColObject como conjunto de coleta ColObject = Nova coleção ColObject.Add Item: = 1, Key: = "Newton" ColResult = ColObject ("Newton") End Sub 

Etapa 9: use uma caixa de mensagem para ver o valor armazenado na variável de objeto Collection.

Código:

 Sub Excel_Collection1 () Dim ColObject como conjunto de coleta ColObject = Nova coleção ColObject.Add Item: = 1, Key: = "Newton" ColResult = ColObject ("Newton") MsgBox ColResult End Sub 

Etapa 10: Agora compile o código e execute-o clicando no botão Reproduzir, localizado abaixo da barra de menus.

Receberemos a mensagem como 1. O que significa que, para a chave Newton, o item está localizado na 1ª posição.

Coleção VBA do Excel - Exemplo # 2

Existe outro método ou maneira pela qual podemos ver qual número de item é atribuído a qual chave. Também podemos contar o número de chaves preenchidas no objeto VBA Collection. Este processo é bastante semelhante ao processo que vimos no exemplo-1. Para isso, siga as etapas abaixo:

Etapa 1: escreva a subcategoria do VBA Collection, como mostrado abaixo.

Código:

 Sub Excel_Collection2 () End Sub 

Etapa 2: considere a mesma variável que vimos no exemplo 1 como Coleção e defina-a como Nova coleção como ColObject.

Código:

 Sub Excel_Collection2 () Dim ColObject como conjunto de coleta ColObject = Nova coleção End Sub 

ColObject é a única variável aqui neste exemplo por essa ajuda que veremos a contagem ou sequência de definir Item e Chave.

Etapa 3: Agora, para o objeto Coleção definido, atribua a função ADD e escolha qualquer valor conforme sua escolha. Aqui estamos selecionando 10.

Código:

 Sub Excel_Collection2 () Dim ColObject como conjunto de coleta ColObject = Nova coleção ColObject.Add 10 End Sub 

Etapa 4: da mesma forma, adicione mais 2 ou 3 objetos de coleção, como mostrado abaixo.

Código:

 Sub Excel_Collection2 () Dim ColObject como conjunto de coleta ColObject = Nova coleção ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 End Sub 

Etapa 5: para saber a contagem de itens usados ​​no Objeto de Coleção, usaremos a impressão Debug.

Código:

 Sub Excel_Collection2 () Dim ColObject como conjunto de coleta ColObject = Nova coleção ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print End Sub 

O principal ponto positivo do uso da impressão Debug aqui, em vez da caixa Mensagem, é que poderíamos obter a contagem junto com o erro, se houver algum. Para qualquer erro, obteremos uma saída como Zero e, para o processo correto, obteremos o valor real.

Etapa 6: para obter a contagem da variável ColObject, usaremos a função Count, que é parte de uma função embutida na lista.

Código:

 Sub Excel_Collection2 () Dim ColObject como conjunto de coleta ColObject = Nova coleção ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print ColObject.Count End Sub 

Etapa 7: na opção de menu Exibir, selecione a janela Imediata, como mostrado abaixo. Ou podemos usar uma tecla de atalho como Ctrl + G para obter esta janela.

Este é o lugar onde veremos a saída usando a impressão Debug.

Etapa 8: Agora compile o código e execute-o clicando no botão Reproduzir, localizado abaixo da barra de menus. Veremos, na janela imediata, a contagem do total de coleções de objetos chegando a 3 .

Agora, para testar se a contagem obtida está correta ou não, excluiremos uma linha do objeto de coleção ou a converteremos em texto colocando apóstrofo (') e novamente executar o código.

Obteremos a contagem atualizada como 2, que é a contagem do objeto de coleção 10 e 20 do número do item. E podemos notar que a terceira linha do objeto de coleção é colorida em verde e este é o sinal de obter o código convertido em texto.

Profissionais da coleção VBA do Excel

  • Não precisamos redimensionar o objeto que definimos.
  • Podemos usar diferentes objetos Collection que estão embutidos no excel VBA Collection. Esses objetos não são vistos em outras funções, como VBA Dictionary ou VBA Array.
  • Por VBA Collection, podemos também qualquer tipo de banco de dados de clientes ou produtos.

Coisas para lembrar

  • É recomendável usar a impressão de depuração em vez da caixa de mensagem. Com isso, poderíamos ver o erro e corrigi-lo.
  • Por VBA Collection, podemos vários tipos de objetos e adicionar qualquer tamanho de dados.
  • Na função de objeto Item, podemos definir qualquer número conforme nossa escolha. Pode ser o código do produto, a sequência ou o preço que queremos ver.
  • Salvar o arquivo em Macro enable excel nos permitirá manter o código por mais tempo.

Artigos recomendados

Este é um guia para a coleção VBA. Aqui discutimos como criar o objeto Collection no Excel usando o código VBA, juntamente com exemplos práticos e modelo do Excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Guia para usar o comprimento da matriz VBA
  2. Como calcular o intervalo no Excel?
  3. Tutoriais sobre células VBA
  4. PowerPivot no Excel

Categoria: