Você sabe o que são coleções no VBA? Sabe como usar e como elas podem te ajudar? Então vem comigo que eu vou te mostrar.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Fala, Impressionadores! Na aula você vai ver como usar coleções no VBA!
Um objeto um pouco diferente no VBA, mas que tem suas vantagens! Você vai ver também uma comparação entre coleções matrizes e dicionários, para que você entenda a diferença entre eles e saiba quando utilizar cada um.
E aí bora aprender como funciona uma coleção no VBA e como ela pode te ajudar?
O que é uma coleção no VBA?
Segundo a própria Microsoft, uma coleção é “um conjunto ordenado de itens que podem ser chamados de unidade”.
O objeto Collection (como originalmente é chamada) fornece uma maneira conveniente de se referir a um grupo relacionado de itens como um único objeto
Os itens (como originalmente são chamados), ou membros, em uma coleção só precisam estar relacionados pelo fato de que eles existem dentro dessa coleção.
Além disso, os membros de uma coleção não têm que compartilhar o mesmo tipo de dados: eles podem ser de tipos diferentes.
Comparação entre coleções matrizes e dicionários
Coleção
Já definida acima, as vantagens principais dela são:
Suas principais desvantagens perante aos outros dois tipos comparados são:
Matriz
A matriz é um conjunto de elementos sequencialmente indexados com o mesmo tipo de dado intrínsecos, por definição.
Cada elemento de uma matriz tem um número de índice de identificação exclusivo. As alterações feitas em um elemento de uma matriz não afetam os outros elementos.
Suas principais vantagens perante aos outros dois tipos comparados são:
Suas principais desvantagens perante aos outros dois tipos comparados são:
Dicionário
É um tipo de objeto que armazena pares de chave/item de dados. Tipo de matriz que vai associar itens, que podem ser de quaisquer tipos de dados.
Cada item está associado a uma chave exclusiva.
A chave é usada para recuperar um item individual e geralmente é um inteiro ou uma cadeia de caracteres, mas pode ser qualquer coisa, exceto uma matriz.
Suas principais vantagens são:
Suas principais desvantagens são:
OBS: Para entender melhor sobre os tipos de dados no VBA, visite esse link oficial
Inserir um módulo no VBA e colocando nosso código objeto de estudo
Um código do VBA geralmente fica armazenado dentro de um módulo.
Para criá-lo, precisamos primeiramente abrir o ambiente do VBA, usando o seguinte atalho do teclado: Alt(+Fn)+F11.
Vamos na guia Inserir > Módulo, e uma caixa branca se abrirá.
Por padrão ele terá o nome de “Módulo 1”.
Com o módulo criado, colocaremos o código objeto da aula de hoje dentro dele:
Sub alimentar_colecao() Dim matriz As Variant Dim colecao As New Collection Dim i As Long Dim item_colecao As Variant matriz = Range("A1").CurrentRegion.Value For i = LBound(matriz) + 1 To UBound(matriz) If matriz(i, 3) < 200 Then colecao.Add matriz(i, 2) End If Next i = 2 For Each item_colecao In colecao Cells(i, 8).Value = item_colecao i = i + 1 Next End Sub
Comentários a respeito do código acima:
Repare que, ao rodar o código, os mesmos itens da coleção são os que vão para a planilha:
Nessa aula você lidou com o ambiente do VBA, construindo um código que te permtiu entender como adicionar elementos em uma coluna com VBA.
Além disso, para estruturar o código, precisou ver como fazer a declaração de variáveis no VBA, aprender sobre a comparação entre coleções matrizes, e dicionários, além dos conceitos de dicionário no VBA e matriz no VBA.
Até a próxima, Impressionadores! Fique ligado no nosso canal do Youtube para mais conteúdo de VBA!
Para acessar outras publicações de VBA, clique aqui!
Expert em VBA e Power BI da Hashtag Treinamentos. Auxilia no suporte aos alunos da Hashtag Treinamentos e na criação de conteúdos para os que acompanham nossos canais.