Quer aprender como usar dicionários no VBA em apenas uma aula? Então vem comigo que eu vou te mostrar como!
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 de hoje eu vou te mostrar como usar dicionários no VBA!
Vou te mostrar o que é dicionário no VBA, como inserir valores no dicionário, como trazer as informações do dicionário.
Você vai notar que o dicionário se assemelha as matrizes no VBA, então vamos ter linhas e colunas, só que temos o nome de chaves e valores no dicionário.
Isso facilita um pouco na hora de fazer a busca de certas informações dessas variáveis complexas, que diferenciam um pouco das variáveis no VBA.
Outro ponto interessante que vou te mostrar nessa aula é o comando debug.print que é para visualizar o resultado das variáveis sem que você tenha que colocá-las dentro do Excel.
Vai poder visualizar dentro do próprio VBA para ter mais praticidade! E aí, bora aprender sobre dicionários?
Ativando referências no VBA
Precisaremos utilizar uma biblioteca específica do Excel/VBA para nos auxiliar na aula de hoje. Portanto, precisaremos ativá-la para fazer esses procedimentos a seguir.
Precisamos primeiramente abrir o ambiente de VBA, a partir do atalho do teclado Alt(+Fn)+F11.
Logo após você terá, com o VBA aberto, que:
Inserindo um Módulo no VBA
Para criar um código dentro de um módulo, precisamos primeiramente abrir o ambiente de VBA, a partir do atalho do teclado Alt(+Fn)+F11.
Como não temos nenhum módulo destinado ao tema da aula de hoje, e por questão de organização, vamos criar um módulo à parte.
Vamos na guia Inserir > Módulo, e uma caixa branca se abrirá.
Por padrão ele terá o nome de “Módulo 1”. Colocaremos as seguintes sub dentro dele:
Sub dicionarios()
Dim dict As New Dictionary
dict("Excel") = 3
dict("Power BI") = 2
dict("VBA") = 1
dict("PowerPoint") = 1
Debug.Print "Excel", dict("Excel")
Debug.Print "Power BI", dict("Power BI")
Debug.Print "VBA", dict("VBA")
Debug.Print "PowerPoint", dict("PowerPoint")
End Sub
Comentários a respeito do código acima:
Rodando o código acima, você terá na Janela Imediata, algo como:
Sub dicionarios_exemplo2()
Dim dict As New Dictionary
Dim matriz As Variant
matriz = Sheets("Tabela").Range("A1").CurrentRegion.Value
For i = LBound(matriz) + 1 To UBound(matriz)
dict(matriz(i, 2)) = dict(matriz(i, 2)) + matriz(i, 3)
Next
For Each chave In dict
Debug.Print chave, dict(chave)
Next
End Sub
Comentários a respeito do código acima:
Rodando o código acima, você terá na Janela Imediata, algo como:
Nessa aula você lidou com os seguintes conceitos:
Até o próximo post! Fique ligado no nosso canal do Youtube para mais conteúdo de VBA! Um abraço!
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.