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:
- Verificar valores de variáveis e propriedades
- Atribuir valores de variáveis e mudar propriedades de objetos
- Executar procedimentos e funções do VBA
- Imprimir valores diretamente na janela
- Realizar programações como loops para realizar verificações
- 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.
- Digite o seguinte código com o Debug.Assert
#if Erro Then
Debug.Assert lVetor(i, j) < 1
#End if

- Este código # antes do if é uma marcação para que o mesmo seja executado como uma validação da propriedade do projeto.
- Depois clique em Ferramentas->Propriedades do VBA Project…
- Digite em Argumentos para compilação condicional: Erro = 1
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
Curso Excel Completo – Do Básico ao VBA
Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo:
