24.08.2020 Views

Programando o Excel ® Vba Para Leigos - 2ª Ed 2013 NoDRM (1)

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

202 Parte III: Conceitos de Programação

Figura 13-4:

Até programadores

profissionais

às vezes se

esquecem de

remover suas

declarações

Debug.Print.

ocasionalmente se esquecem de remover suas declarações Debug.Print.

Em diversas versões anteriores de Excel, cada vez que o add-in Analysis

ToolPak (Pacote de Ferramentas de Análise) era aberto, você via

diversas mensagens estranhas na janela Verificação imediata (como

mostrado na Figura 13-4). O problema foi corrigido no Excel 2007.

Usando o depurador VBA

Os projetistas de Excel são intimamente familiarizados com o conceito

de bugs, portanto, o Excel inclui um conjunto de ferramentas de

depuração que pode ajudá-lo a corrigir problemas em seu código VBA.

O depurador VBA é o tópico da próxima seção.

Sobre o Depurador

Nesta seção, eu discuto os sangrentos detalhes de usar as ferramentas

de depuração do Excel. Essas ferramentas são muito mais poderosas do

que as técnicas discutidas na seção anterior. Mas, junto com o poder

vem a responsabilidade. Usar as ferramentas de depuração requer um

pouco de trabalho de configuração.

Configurando pontos de

interrupção em seu código

Anteriormente neste capítulo, eu defendi o uso de funções MsgBox em

seu código para monitorar os valores de determinadas variáveis. Exibir

uma caixa de mensagem interrompe, essencialmente, o seu código no

meio da execução e clicar o botão OK retorna a execução.

Não seria bom se você pudesse interromper a execução de uma rotina,

dar uma olhada no valor de qualquer de suas variáveis e depois continuar

a execução? Bem, isso é exatamente o que você pode fazer configurando

um ponto de interrupção. Você pode configurar um ponto de

interrupção em seu código VBA de várias maneiras:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!