Cavalcante Consultores – treinamento e consultoria em finanças e Excel

Depurar macros

Cavalcante Consultores > Biblioteca de Excel > Depurar macros

O que é?

O processo de depuração de um código está relacionado a verificação da lógica e dos resultados trazidos pela execução da macro em questão, identificando possíveis erros e resultados não previstos.

Passo a passo

Quando executamos uma macro passo a passo podemos observar seu fluxo e os resultados de cada ação. Para iniciar a execução passo a passo, clique na primeira linha do código da macro e pressione a tecla F8. A linha a ser executada ficará destacada em amarelo e com uma seta ao lado, como pode ser observado na figura a seguir:

Cada vez que pressionar F8 a execução continua nas linhas seguintes. Caso deseje saber o valor das variáveis durante o processo, você deverá abrir a janela de variáveis locais. Para esta tarefa, acesse o menu Exibir e clique em Janela ‘Variáveis locais’.

Interrupção

A seguir será apresentado alguns métodos de verificação de variáveis durante a execução. Neste caso,você poderá interromper o código em pontos determinados, fazendo uso destes métodos.

O método mais simples para verificar o valor de uma variável em uma etapa específica na macro é exibir esse valor em uma caixa de mensagem. Neste caso, para usar este recurso basta inserir a função MsgBox imediatamente após a linha que deseja verificar.

Msgbox [variável]

[variável] é o nome da variável que deseja verificar.

Ao clicar em OK a macro continua normalmente.

Você também pode definir um ponto de interrupção para suspender a execução da macro no ponto em que suspeite de que exista algum problema.

Para isso, clique na linha que deseja interromper a macro e pressione F9. A linha ficará destacada em marrom e com um círculo ao lado.

Feito isso, pressione F5 para executar a macro normalmente até o ponto de interrupção - linha marrom destacada. Com a janela de variáveis locais aberta, você saberá quais são os valores das variáveis neste ponto. Quando não precisar mais, poderá limpar os pontos de interrupção. Para esta tarefa, clique na linha que contém o ponto de interrupção e pressione F9. Para limpar todos os pontos de interrupção pressione Ctrl, Shift e F9 ao mesmo tempo.

Definindo manualmente os valores das variáveis

Outra maneira de fazer a verificação de pontos específicos do seu código VBA é por meio da definição manual de uma variável. Você pode definir o valor de uma variável manualmente e continuar executando o código para determinar o que acontece.

Para isso, siga as instruções abaixo:

Abra a janela de variáveis locais. No menu Exibir, clique em Janela ‘Variáveis locais’. Execute a macro passo a passo pressionando F8 repetidas vezes até alcançar o ponto determinado. Dentro da janela Variáveis locais, clique no valor de uma variável na coluna Valor. Digite o valor que deseja para essa variável e pressione ENTER.

No vídeo disponível abaixo você verá como fazer.

Exemplo

Neste exemplo, fizemos um código que se repete 100 vezes e queremos saber o valor da variável x no meio do código (quando se repete 50 vezes). Foi criado um ponto de interrupção com caixa de mensagem que exibirá o valor de x. Observe o código:

For contador = 1 To 100

 x = (contador + 1) * 2
 
 If (contador = 50) Then
   MsgBox "variável x = " & x
 End If
 
Next contador

Quando o contador é 50, x vale (50 + 1) x 2, portanto 102. Deveremos ver uma mensagem confirmando que x = 102.

Pratique!