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.

Janela de verificação imediata VBA Excel 1

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.

Janela de verificação imediata VBA Excel 3

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.

Janela de verificação imediata VBA Excel 4

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

Janela de verificação imediata VBA Excel 5

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.

Janela de verificação imediata VBA Excel 6

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.

Janela de verificação imediata VBA Excel 6a

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

Janela de verificação imediata VBA Excel 3a

  • 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.

Janela de verificação imediata VBA Excel 2

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