Hoje eu quero te mostrar como ler tabelas do Excel no VBA de duas maneiras diferentes para facilitar os seus trabalhos!
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 dois métodos para ler tabelas do Excel no VBA!
Isso é muito útil para fazer suas automações, pois em muitos casos você vai precisar analisar as informações que tem na sua tabela para fazer algum tipo de tratamento.
Vou te ensinar dois métodos, um deles é pegar as informações da tabela e colocá-las dentro do VBA e o outro é utilizando matrizes em VBA.
Para os dois métodos nós vamos utilizar a estrutura de repetição for no VBA, que você já deve conhecer e claro, vamos abordar a declaração de variáveis no VBA para auxiliar!
E aí, vamos aprender como pegar informações de tabela no VBA para poder facilitar a sua automação dentro do Excel?
Inserindo um Módulo no VBA
Para criar um código dentro do VBA geralmente criamos um módulo. Para criá-lo precisamos primeiramente abrir o ambiente de VBA, a partir do 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”.
Precisaremos também fazer uma adaptação, que é bem legal no VBA, que é renomear uma planilha. Podemos, por padrão, chamar a planilha pelo nome no VBA, como por exemplo Sheets(“Planilha1”)
Mas há uma outra forma de chamá-la, para referenciá-la dentro do código. Podemos simplesmente alterar sua propriedade Name. Veja:
No exemplo, alteramos o nome da planilha de “Atendimentos” para “abaAtend”. Agora, para chamar ou referenciar essa planilha no código, podemos simplesmente escrever “abaAtend”, como veremos a seguir.
Com o módulo criado, colocaremos a seguinte sub dentro dele:
Sub lendoTabelasFor()
Dim tabela As ListObject
Dim i As Long
Dim codigo As String
Set tabela = abaAtend.ListObjects("TabelaAtendimentos")
For i = 1 To tabela.ListRows.Count
codigo = tabela.ListRows(i).Range.Cells(1, 3)
Next
End Sub
Explicação do 1º código (lendoTabelasFor):
Sub lendoTabelasMatriz()
Dim matriz As Variant
Dim i As Long
Dim codigo As String
matriz = abaAtend.ListObjects("TabelaAtendimentos").DataBodyRange.Value
For i = LBound(matriz) To UBound(matriz)
codigo = matriz(i, 3)
Next
End Sub
Explicação do 1º código (lendoTabelasMatriz):
Nessa aula eu te mostrei como você consegue ler tabelas do Excel utilizando o VBA para poder automatizar seus processos e torná-los ainda mais fáceis e rápidos.
Esse é um processo muito útil, principalmente quando temos que analisar ou buscar informações dentro de tabelas, então temos que ler essas informações para trazer o resultado ou fazer algum cálculo.
É uma tarefa simples, mas muito útil dentro do VBA para fazer suas automações, principalmente quando temos muitas informações!
Nessa aula você lidou com:
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.