ti-enxame.com

Verificando os valores de variáveis ​​públicas no Excel VBA - Janela Locals Alternativa

Eu tenho usado a janela Locals para verificar as atribuições para variáveis ​​no nível do procedimento.

Atualizei recentemente meu código para criar um conjunto de variáveis ​​de nível público que leem certas entradas das planilhas que não mudam de projeto para projeto.

Ao procurar verificar essas variáveis, não as vejo na janela Locals, sem dúvida, porque não são variáveis ​​definidas localmente!

Existe uma alternativa para a janela Locals para variáveis ​​públicas? E se não, como devo verificar as atribuições de variáveis ​​públicas?

6
psychonomics

Além da janela Imediata (conforme descrito na outra resposta), a janela Observar é muito útil nessas circunstâncias. Você pode ativá-lo no menu Exibir -> Janela de inspeçãoenter image description here

Aqui você pode definir:

  • Qualquer variável (por exemplo, suas variáveis ​​públicas)
  • Um termo completo, por ex. ActiveWorkbook.UsedRange.Address
  • O escopo de cada relógio
  • Mesmo um ponto de interrupção quando o valor muda ou resulta em True - isso é bastante útil na depuração, pois permite pontos de interrupção condicionais rápidos sem adicionar código adicional, por exemplo se você definir um relógio para myVar=0 e ativo Interromper quando o valor for verdadeiro, o código parará automaticamente no momento em que o bug em potencial for "iniciado"

Você pode adicionar todas essas opções na caixa de diálogo "Adicionar observação", clicando com o botão direito do mouse em qualquer variável (ou outro código) no módulo de código - ou clicando com o botão direito na janela de observação:

enter image description here

Além disso, você pode simplesmente editar qualquer item de exibição na lista clicando duas vezes.

Ferramenta muito útil para depuração, esp. em combinação com as janelas Locais e Imediato.

18
Peter Albert

Use janela imediata. Pressione Ctrl + G no seu ambiente de codificação para ir para a Janela Imediata. Permite obter e definir o valor da sua variável quando você estiver no modo de depuração. Você precisa prefixar? para verificar o valor da variável exemplo

 ?variableName   press enter to get the value
 variableName ="test" press enter to set the value
9
user2063626