Macros do Excel - depurando um código
Você aprendeu que a macro é armazenada como código VBA no Excel. Você também aprendeu que pode escrever código diretamente para criar uma macro no editor VBA. No entanto, como acontece com qualquer código, até mesmo o código da macro pode ter defeitos e a macro pode não ser executada conforme o esperado.
Isso requer o exame do código para encontrar os defeitos e corrigi-los. O termo usado para essa atividade no desenvolvimento de software é depuração.
Depuração VBA
O editor VBA permite que você pause a execução do código e execute qualquer tarefa de depuração necessária. A seguir estão algumas das tarefas de depuração que você pode executar.
- Percorrendo o Código
- Usando Breakpoints
- Fazendo backup ou avançando no código
- Não avançar em cada linha de código
- Consultando qualquer coisa enquanto avança pelo código
- Interrompendo a execução
Essas são apenas algumas das tarefas que você pode executar no ambiente de depuração do VBA.
Percorrendo o Código
A primeira coisa que você precisa fazer para depurar é percorrer o código enquanto o executa. Se você tiver uma ideia de qual parte do código provavelmente está produzindo o defeito, poderá pular para essa linha do código. Caso contrário, você pode executar o código linha por linha, fazendo backup ou avançando no código.
Você pode acessar o código na caixa de diálogo Macro da pasta de trabalho ou no próprio editor VBA.
Stepping into the code from the workbook
Para entrar no código da pasta de trabalho, faça o seguinte -
- Clique na guia EXIBIR na Faixa de Opções.
- Clique em macros.
- Selecione Exibir macros na lista suspensa.
A caixa de diálogo Macro é exibida.
- Clique no nome da macro.
- Clique no botão Entrar.
O editor VBA é aberto e o código da macro aparece na janela de código. A primeira linha no código da macro será destacada na cor amarela.
Stepping into the code from the VBA editor
Para entrar no código do editor VBA, faça o seguinte -
- Clique na guia DEVELOPER na faixa de opções.
- Clique em Visual Basic. O editor VBA é aberto.
- Clique no módulo que contém o código da macro.
O código de macro aparece na janela de código.
Clique na guia Depurar na Faixa de Opções.
Selecione Step into na lista suspensa.
A primeira linha no código da macro será destacada. O código está no modo de depuração e as opções na lista suspensa Depurar ficarão ativas.
Fazendo backup ou avançando no código
Você pode avançar ou retroceder no código selecionando Step Over ou Step Out.
Não avançar em cada linha de código
Você pode evitar passar por cada código de linha, se identificar uma parte potencial do código que precisa ser discutida, selecionando Executar para o Cursor.
Usando Breakpoints
Como alternativa, você pode definir pontos de interrupção em linhas específicas de código e executar o código, observando os resultados em cada ponto de interrupção. Você pode alternar um ponto de interrupção e limpar todos os pontos de interrupção se e quando necessário.
Usando relógio
Você pode adicionar um relógio durante a depuração, para avaliar uma expressão e parar a execução quando uma variável atinge um valor específico. Isso significa que você configura uma expressão de observação, que será monitorada até que seja verdadeira e então a macro irá parar e deixá-lo no modo de pausa. O VBA oferece vários tipos de relógio para escolher, a fim de realizar o que você está procurando.
Interrompendo a execução
Durante a depuração, a qualquer momento, se você encontrou uma pista sobre o que está errado, você pode interromper a execução para decifrar melhor.
Se você for um desenvolvedor experiente, a terminologia de depuração é familiar e as opções de depuração do editor VBA tornam sua vida mais simples. Mesmo caso contrário, não levará muito tempo para dominar essa habilidade se você aprendeu VBA e entende o código.