6 Maneiras de usar a Janela de Verificação Imediata no VBA

6 Maneiras de usar a Janela de Verificação Imediata no VBA

A Janela de verificação imediata no é uma ferramenta de desenvolvimento poderosa, apenda as 6 maneiras de utilizá-la.

Iremos aprender de uma forma prática e aprofundada de como extrair todas as suas possibilidades.

Na janela de verificação imediata você consegue:

  1. Verificar valores de variáveis e propriedades
  2. Atribuir valores de variáveis e mudar propriedades de objetos
  3. Executar procedimentos e funções do VBA
  4. Imprimir valores diretamente na janela
  5. Realizar programações como loops para realizar verificações
  6. Debug.Assert

Acionar a janela de verificação imediata

Para acionar a janela de verificação imediata, também chamada de Immediate no Excel, você deve abrir o VBE, digitando Alt+F11 para abri-lo de forma rápida ou então pela Guia Desenvolvedor e clicando em Visual Basic.

Ao abrir o VBE (Visual Basic Editor) pressione as teclas Ctrl+g para que a janela de verificação imediata seja aberta no editor, ela deverá aparecer logo abaixo da janela de codificação.

Verificar valores de variáveis e propriedades

A janela de verificação imediata é uma grande auxiliar para validar e testar a sua programação, e ela pode ser usada tanto em modo Debug (F8), ou também para inspecionar outros objetos.

Uma das tarefas que ela realiza é a inspeção de variáveis e propriedades de objetos, como por exemplo o valor da variável do loop, o nome da janela ou o valor de uma célula.

Para isso digite na janela de verificação imediata ? e logo em seguida o nome da variável ou o objeto e a propriedade e pressione ENTER.

A tecla ENTER é uma tecla de ação na janela imediata, pressione ela apenas quando você já tiver digitado o que precisa, pois ao pressioná-la o retorno será feito automaticamente.

Atribuir valores de variáveis e mudar propriedades de objetos

Esta é uma aplicação bastante utilizada da janela de verificação imediata, pois durante os testes é comum que a necessidade de alterar valores para realizar testes.

Assim como a leitura de propriedades e variáveis, é possível na janela imediata do Excel alterar os valores.

Para isso, ao invés de digitar o ? antes da variável ou propriedade você digitará a variável ou propriedade e depois dela digitará = e o valor que será atribuído.

Ao pressionar a tecla ENTER o valor será atribuído imediatamente.

Como pode notar no exemplo acima, o objeto alterado foi uma célula da planilha, automaticamente alterada.

Executar procedimentos e funções do VBA

A janela imediata do Excel é realmente uma grande ferramenta no desenvolvimento.

Digamos que você esteja depurando e precise chamar um outro procedimento no meio do código para testar, ou ainda queira apenas chamá-lo para testar.

Você pode fazer isto digitando o nome do procedimento e colocando os parâmetros.

Caso seja um procedimento, preencha o nome do procedimento e vírgula entre as variáveis, assim:

lsExecutarEnvio “email@gmail.com”, “Teste de e-mail”

Ao final basta digitar ENTER para que ela seja executada.

No caso de funções é necessário passar os parâmetros digitando entre parênteses, e colocar ? antes do nome da função, para que ela seja retornada, por exemplo:

?lfValidarCPF(45678945602)

No exemplo acima será então exibido na linha abaixo o retorno da função se for possível, pois depende do seu retorno.

No gif acima temos a chamada do procedimento lsCriarArquivo passando parâmetros, ela cria uma pasta de trabalho do Excel e a salva no caminho estabelecido.

Imprimir valores diretamente na janela

Para debugar o código fonte muitas vezes é necessário verificar valores de variáveis em tempo de execução. E quando são muitas, como em loops é uma boa ideia usar o procedimento Debug.Print.

Este procedimento tem por única função imprimir na janela imediata do VBA o que precisar.

para isso basta digitar Debug.Print e o texto, concatenando as variáveis, por exemplo, no meio do código fonte de um loop:

Debug.Print “Salário  ” & CStr(i) & “: ” & Cstr(ldbSalario)

Neste caso a saída seria:

Salário 1: 5000

Salário 2: 2500

Salário 3: 3250

Realizar programações como loops para realizar verificações

No Immediate do VBA é possível também programar mais linhas para exibir nela.

Porém, como pode ter notado, ao digitar na linha e pressionar o ENTER o código da linha já é imediatamente executado.

Por isso, quando há mais de uma linha de programação, como por exemplo um loop, é necessário quebrar a linha.

Para quebrar esta linha você deve digitar : esse código identifica uma nova linha do VBA na janela imediata do Excel. Por exemplo:

for i = 1 to rrsDadosEsteira.Fields.Count : debug.print rrsDadosEsteira.Fields(i).Name & ” -> ” & rrsdadosesteira.Fields(i).Value : next i

Veja que no código acima temos um loop completo usando o For e quebrando a linha com o : para exibir todos os valores de um recordset

Uma coisa bem interessante disto é que não é necessário ter as variáveis declaradas no VBA, mesmo que tenha colocado Option Explicit, isso não se aplica à janela imediata e você não precisa inclusive declará-la, como no exemplo acima.

No loop acima você vê que ao clicar enter na linha o código é automaticamente executado.

Note também, que no caso de mostrar valores você deve obrigatoriamente utilizar o DEBUG.PRINT, mesmo que na janela de verificação imediata.

Debug.Assert

A instrução Debug.Assert tem por finalidade realizar testes no código e parar caso a condição não seja verdadeira. Neste caso ela para a execução para que o código seja ajustado.

Atenção: Não coloque este código diretamente para entregar o cliente, irei mostrar como fazer isto antes de entregar o trabalho.

O Debug.Assert deve ser digitado no meio do código e colocada uma verificação, como por exemplo:

DEBUG.Assert lVetor(i, 1) < 1

Este código irá verificar se o valor do vetor é menor do que 1 e se for maior, ele irá parar a execução focando diretamente o cursor na janela de verificação imediata, E na janela de verificação imediata você poderá verificar o valor e fazer mais testes.

Quando você está em desenvolvimento, não tem problema, pode colocar os códigos, mas não esqueça de tirar antes de entregar, ou senão faça o procedimento abaixo para evitar uma parada no meio da execução do cliente.

#if Erro Then

  Debug.Assert lVetor(i, j) < 1

#End if

Esse é o argumento de compilação que será verificado pelo código #if Erro = 1, e então executará o código. Coloque 0 nesta propriedade para que não seja executado o conteúdo do IF.

Considerações finais

Ao longo deste artigo você aprendeu as diversas técnicas que permitem que a janela de verificação imediata do VBA Excel seja uma grande ferramenta de desenvolvimento e produtividade.

E se quiser aprender mais sobre VBA, veja no menu do topo do site a nossa sessão VBA e veja a série de artigos que temos.

Abraço

Marcos Rieper

Sair da versão mobile