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):
- Dimensionar:
- A variável tabela como um objeto ListObject (que é como nos referimos aos objetos de tabela criados no Excel)
- A variável i como uma variável do tipo Long (número)
- A variável codigo como uma variável do tipo String (texto)
- Configurar a variável tabela para representar diretamente no código a tabela da abaAtend, de nome “TabelaAtendimentos”, que é de fato a tabela que usamos de exemplo na aula de hoje
- Usar de uma estrutura de repetição do tipo For, que vai:
- Analisar da linha representada pela variável i, que vai de 1 até a contagem de linhas da tabela
- Armazenar na variável codigo o que tiver, linha a linha, na coluna 3. Aqui deve-se entender que você vai analisar/ter objetos “parciais” de linhas que formarão a tabela (objeto “conjunto”). Olhando para uma única linha, (como objeto parcial) o nosso código sempre estará naquela linha (única) e na coluna 3. Como a variável “i” vai mudar de valor, vamos olhar cada hora para uma linha especificada tabela.
- Se encerra o código
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):
- Dimensionar:
- Configurar a variável matriz para representar diretamente no código a os dados presentes nas células do corpo da tabela da abaAtend, de nome “TabelaAtendimentos”, que é de fato a tabela que usamos de exemplo na aula de hoje
- Usar de uma estrutura de repetição do tipo For, que vai:
- Analisar da linha representada pela variável i, que vai do menor valor de índice da matriz (primeiro termo), até o maior valor de índice da matriz (último termo)
- Armazenar na variável codigo o que tiver na matriz, linha a linha (representada pela variável i, que vai mudando), na coluna 3.
- Se encerra o código
Conclusão – Ler Tabelas do Excel no VBA
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:
- Ambiente do VBA
- Códigos em VBA
- Trazer tabela para o Excel
- Declaração de variáveis em VBA
- Matrizes em VBA
Até a próxima, Impressionadores! Fique ligado no nosso canal do Youtube para mais conteúdo de VBA!
Hashtag Treinamentos
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.