10 Dicas de como programar em VBA Excel

2

10 Dicas de como programar em VBA Excel

O VBA Excel é uma ferramenta poderosa dentro do Excel para automatizar tarefas, resolver situações e até criar sistemas com acesso a banco de dados no Excel. Veja neste artigo 10 dicas de como programar VBA Excel.

Dica #1 – Certifique-se da necessidade de usar VBA na sua solução

Esta dica pode parecer estranha neste artigo, mas é exatamente assim que você deve pensar antes de abrir o VBE do Excel.

Pense nas duas situações:

A. Tenho um sistema de cálculo de hora-extra de funcionários, é necessário que seja em VBA? Consigo fazer somente com os recursos “padrão” da ferramenta?

B. Tenho um processo de receber relatórios em txt da matriz, realizar cálculos e montar um relatório com base nas informações. Faço este processo todos os dias manualmente e demoro 2 horas.

Responda as seguintes questões para os processos A e B.

  1. Consigo fazer isto somente com os recursos do Excel?
  2. Este processo será rotineiro?
  3. Quanto tempo eu levaria para realizar a tarefa diariamente?

Para o processo A, eu posso responder que consigo fazer somente com os recursos do Excel, este processo de montagem da planilha será feito somente uma vez e também por isso o tempo que eu levaria para montar a planilha diariamente é zero, porque ela já estará pronta. Então no processo A, eu não preciso de VBA por padrão.

No processo B, podemos responder que sim, posso fazer com os recursos padrão do Excel, o processo Sim é uma rotina, será feito todos os dias, e levará 2 h por dia para eu fazer.

Então neste caso é melhor utilizar o VBA, pois um processo que levaria 2 h, teria interação humana diária, ocupando o tempo de um funcionário e podendo levar a erros no relatório.

Um processo como o B poderia ser realizado com VBA Excel em minutos diariamente e padronizadamente, evitando erros no relatório e ainda salvando preciosas horas de um funcionário diariamente.

Dica #2 – Use o Gravador de Macros

O Excel lhe auxilia na tarefa de programar gerando códigos para as tarefas que você quiser gravar.

Por exemplo, abrir um arquivo texto e formatar as suas colunas e cabeçalho rapidamente podem ser feitas pelo gravador de macros do Excel.

VBA Excel
Código gerado automaticamente pelo Excel – Formatar planilha

A maioria dos processos no Excel também podem gerar códigos automaticamente para que sejam aplicados no seu código. Por exemplo gravar a tarefa de proteger e desproteger uma planilha, o Excel cria automaticamente o código fonte e você poderá copiar este código e aplicá-lo como necessitar.

VBA Excel
Gravador de macros do Excel

Dica #3 – Idente e comente o seu código

Em ciência da computação, indentação (recuo, neologismo derivado da palavra em inglês indentation) é um termo aplicado ao código fonte de um programa para ressaltar ou definir a estrutura do algoritmo.” Fonte: Wikipédia.

Compare os códigos:

VBA Excel
Código sem identação
VBA Excel
Código identado

Veja que os dos códigos possuem comentários, que são essenciais para que você entenda o código que criou e também outras pessoas que venham a dar manutenção.

Compare também a importância da identação para entender e dar manutenção no código. Esta organização do fonte é essencial para que se tenha uma organização e entendimento do código, imagine códigos de centenas ou até milhares de linhas de código sem identação.

Dica #4 – Organize o seu código em Módulos, Procedimentos e Funções

Não deixe o seu código VBA Excel em uma “tripa” de código, ou seja, digitar todo o código em um único procedimento. Claro, se esta aplicação não for muito pequena.

No caso de aplicações que utilizam vários processos a melhor forma é organizar em Módulos, Procedimentos e Funções seus códigos, de modo que cada procedimento e função fique “Especialista” em uma determinada tarefa e que em um mesmo módulo sejam agrupadas funções que façam parte da mesma solução no sistema.

VBA Excel

Dica #5 – Crie tratamentos de erro

O Tratamento de erro em programação é um ponto do sistema que realiza um determinado conjunto de ações quando um erro é detectado, e na maioria das vezes exibe uma mensagem “amigável” ao usuário identificando o erro ocorrido para que sejam tomadas ações.

No VBA eu utilizo o seguinte código abaixo aonde você vê On Error GoTo TratarErro no início da função, que faz com que ao ocorrer um erro o sistema envie a execução diretamente para o trecho do código que trata dos erros chamado TratarErro.

VBA ExcelDica #6 – Utilize o Immediate

O immediate ou Janela Verificação Imediata, como está em português no VBE serve par a verificação de códigos e a execução dos mesmos de forma imediata.

Com isso você pode testar um código que irá incluir na sua programação, pode também testar um código que já está na sua programação, inclusive em modo de execução de código e ainda verificar o valor de variáveis e objetos do Excel em tempo de execução.

É uma das melhores ferramentas do VBE, veja o vídeo para ver detalhes do seu funcionamento.

Dica #7 – Utilize o Debug.print

O comando Debug.print realiza a impressão de valores diretamente na Janela de Verificação Imediata no seu código VBA Excel.

Basta digitar o código Debug.print em qualquer lugar do seu código e passar como parâmetro o que deseja que ela imprima e os dados serão impressos diretamente na janela, facilitando entender quais valores entraram em determinado comando, como por exemplo, saber se os valores que deveriam entrar em uma determinada condição do código realmente passaram, ou imprimir determinada informação se passar pelo ponto do sistema.

VBA ExcelDica #8 – Crie BreakPoints e debug passo-a-passo comparando com a planilha

Clicando ao lado esquerdo do código você consegue marcar pontos de interrupção do código.

Estes pontos de interrupção, chamados de Breakpoints, farão com que durante a execução do VBA o sistema pare nestas linhas, permitindo que você consiga verificar os valores na janela de inspeção, ou ainda verificar se passou por um determinado ponto do sistema.

Além disso você também pode depurar o código utilizando F8, para debugar todo o código, entrando nas funções e procedimentos, e CTRL+F8 para não entrar nas funções e procedimentos, passando diretamente pelas linhas do seu procedimento.

VBA ExcelDica #9 – Guarde suas aplicações e códigos organizadamente

A medida que você evolui no uso do VBA no Excel várias situações diferentes vão ocorrendo, e necessitando de funções e procedimentos que poderão ser reaproveitados em outras situações.

Guarde suas aplicações e códigos nomeando os mesmos, salve em uma planilha o local aonde encontrá-las ou até mesmo crie um pequeno cadastro em VBA para salvar seus códigos, pois com certeza você acabará necessitando deles novamente.

Dica #10 – Desafie-se

Quando você programar, sempre terá alguma situação que você não havia enfrentado antes. Desafie-se a entendê-la e desenvolver sozinho por um tempo, se não conseguir, gaste um tempo com pesquisa na internet em blogs em português e inglês ou ainda em livros específicos de programação VBA.

Outra situação que você pode fazer é colaborar com as pessoas em fóruns de Excel auxiliando na solução de desafios dos amigos, veja o nosso fórum www.guiadoexcel.com.br/forum.

Curso de VBA e Lógica de programação

Caso você não conheça VBA, mas queira aprender, temos em nossa loja um curso excelente de VBA, que inicia ensinando lógica de programação, permitindo que você aprenda da maneira correta a programar, não só VBA, mas qualquer outra linguagem que quisesse aprender, esta é a primeira cadeira de qualquer faculdade de sistemas.

Depois você aprenderá a programar passo-a-passo em VBA com exemplos claros que lhe permitirão criar suas próprias automações e sistemas em VBA inclusive utilizando formulários.

Com este curso você conseguirá ter muito mais do que uma base para aprender a programar em VBA, mas ao concluí-lo já estará programando em alto nível em VBA e da forma correta.

Veja detalhes do curso, como a grade e a quantidade de horas:

Curso VBA + Lógica de programação

Abraço

Marcos Rieper

2 COMENTÁRIOS

  1. Olá MArcos. Parabéns pelo artigo!
    Estou com um desafio complexo (pelo menos para mim) e acho que vc pode me ajudar!
    Tenho duas planilhas (arquivos distintos), A e B.
    Quero buscar na planilha B um número, copiar e colar em uma célula na planilha A no lugar correspondente. Para essa tarefa, manualmente, eu faço o seguinte: copio uma célula da planilha A, verifico se o valor está na planilha B, se estiver copia uma célula da planilha B, volto para a planilha A e colo na célula específica.
    Tem como gerar uma macro para fazer isso?
    Grato!
    Allan

DEIXE UMA RESPOSTA

Please enter your comment!
Please enter your name here