Lar Mídia social Técnicas de depuração para Excel 2016 VBA - dummies

Técnicas de depuração para Excel 2016 VBA - dummies

Índice:

Vídeo: #172 - Excel VBA - Aula 01 - Introdução para o Curso - O que é uma conciliação bancária 2025

Vídeo: #172 - Excel VBA - Aula 01 - Introdução para o Curso - O que é uma conciliação bancária 2025
Anonim

Você pode encontrar alguns problemas com seu código VBA, mas como você encontra o problema? Às vezes, seu código VBA pode precisar de alguma depuração. Continue lendo para descobrir os quatro métodos mais comuns para depurar o código VBA do Excel:

  • Examinando o código

  • Inserindo funções MsgBox em vários locais em seu código

  • Inserindo Debug. Declarações de impressão

  • Usando as ferramentas de depuração embutidas do Excel

Examinando seu código

Talvez a técnica de depuração mais direta esteja simplesmente examinando seu código para ver se você consegue encontrar o problema. Este método, é claro, requer conhecimento e experiência. Em outras palavras, você precisa saber o que está fazendo. Se você tiver sorte, o erro salta para fora, e você tapa sua testa e diz: "D'oh! "Quando a dor da testa diminui, você pode resolver o problema.

Observe o uso das palavras, "Se você tiver sorte". "Isso é porque muitas vezes você descobre erros quando trabalha no seu programa por oito horas seguidas, é 2 a. m., e você está correndo com cafeína e força de vontade. Em momentos como esse, você tem sorte se você pode até ver seu código, e muito menos encontrar os erros. Assim, não se surpreenda se simplesmente examinar seu código não é suficiente para que você encontre e expulse todos os erros que ele contém.

Usando a função MsgBox

Um problema comum em muitos programas envolve uma ou mais variáveis ​​que não aceitam os valores que você espera. Nesses casos, o monitoramento da (s) variável (s) enquanto seu código é executado é uma técnica de depuração útil. Uma maneira de fazer isso é inserindo funções temporárias do MsgBox em sua rotina. Por exemplo, se você tiver uma variável chamada CellCount, você pode inserir a seguinte declaração:

MsgBox CellCount

Quando você executa a rotina, a função MsgBox exibe o valor do CellCount.

Muitas vezes é útil exibir os valores de duas ou mais variáveis ​​na caixa de mensagem. A seguinte declaração exibe o valor atual de duas variáveis: LoopIndex (1) e CellCount (72), separados por um espaço.

MsgBox LoopIndex & "" & CellCount

Observe que as duas variáveis ​​são combinadas com o operador de concatenação (&) e insira um caractere espacial entre elas. Caso contrário, a caixa de mensagem acumula os dois valores, fazendo com que eles pareçam um único valor. Você também pode usar a constante incorporada, vbNewLine, no lugar do caractere espacial. vbNewLine insere uma quebra de alimentação de linha, que exibe o texto em uma nova linha. A seguinte declaração exibe três variáveis, cada uma em uma linha separada:

Usando uma caixa de mensagem para exibir o valor de três variáveis.
MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal

Esta técnica não se limita a monitorar variáveis. Você pode usar uma caixa de mensagem para exibir todos os tipos de informações úteis enquanto seu código está sendo executado. Por exemplo, se o seu código percorrer uma série de folhas, a seguinte declaração exibe o nome e o tipo da folha ativa:

MsgBox ActiveSheet. Nome e "" & TypeName (ActiveSheet)

Se sua caixa de mensagem mostrar algo inesperado, pressione Ctrl + Break e você vê uma caixa de diálogo que informa que a execução do código foi interrompida, você tem quatro opções:

  • Clique no Botão Continuar. O código continua sendo executado.

  • Clique no botão Finalizar. A execução pára.

  • Clique no botão Depurar. O VBE entra no modo Debug.

  • Clique no botão Ajuda. Uma tela de ajuda diz que você pressionou Ctrl + Break. Em outras palavras, não é muito útil.

    Ao pressionar Ctrl + Break interrompe a execução do seu código e oferece algumas opções.

Se o seu teclado não tiver uma tecla de interrupção, tente pressionar Ctrl + ScrollLock.

Sinta-se livre para usar as funções MsgBox com freqüência quando você depura seu código. Apenas certifique-se de removê-los depois de identificar e corrigir o problema.

Inserindo Debug. Declarações de impressão

Como alternativa ao uso de funções MsgBox no seu código, você pode inserir uma ou mais Debug temporária. Declarações impressas. Use essas instruções para imprimir o valor de uma ou mais variáveis ​​na janela Imediato. Aqui está um exemplo que exibe os valores de três variáveis:

Depuração. Imprimir LoopIndex, CellCount, MyVal

Observe que as variáveis ​​são separadas por vírgulas. Você pode exibir tantas variáveis ​​quanto quiser com uma única depuração. Declaração de impressão.

Debug. Imprimir envia saída para a janela Imediata, mesmo que essa janela esteja oculta. Se a janela Imediato do VBE não estiver visível, pressione Ctrl + G (ou escolha Exibir → Janela imediata). Aqui está algum resultado na janela Imediato.

A Debug. A declaração de impressão envia saída para a janela Imediato.

Ao contrário do MsgBox, Debug. As declarações de impressão não impedem o seu código. Então, você precisa manter um olho na janela imediata para ver o que está acontecendo.

Depois de depurar seu código, certifique-se de remover todo o Debug. Declarações impressas. Mesmo grandes empresas como a Microsoft ocasionalmente esquecem de remover suas Debug. Declarações impressas. Em várias versões anteriores do Excel, toda vez que o suplemento Analysis ToolPak foi aberto, você veria várias mensagens estranhas na janela Imediato. Esse problema foi finalmente corrigido no Excel 2007.

Usando o depurador VBA

Os designers Excel estão intimamente familiarizados com o conceito de bugs. Conseqüentemente, o Excel inclui um conjunto de ferramentas de depuração que podem ajudá-lo a corrigir problemas no seu código VBA.

Técnicas de depuração para Excel 2016 VBA - dummies

Escolha dos editores

Noções básicas do arquivo de dados Flashback da Oracle 12c - dummies

Noções básicas do arquivo de dados Flashback da Oracle 12c - dummies

O Flashback Data Archive do oracle 12c é um mecanismo de banco de dados que permite que você para armazenar periodicamente ou indefinidamente todas as versões de linha em uma tabela ao longo da sua vida útil. Você pode então escolher uma hora para ver os dados como existia em um ponto específico. Esteja ciente de que o Flashback Data Archive é um recurso licenciado. ...

Noções básicas de clusters de aplicativos reais do Oracle 12c - manequins

Noções básicas de clusters de aplicativos reais do Oracle 12c - manequins

Se você visitou os sites da Oracle nos últimos 12 anos , você viu o byline de marketing: "Inquebrável. "Essa linha de tag refere-se ao recurso Real Application Clusters (RAC). Claro, muitos elementos estão envolvidos, mas o RAC tem o destaque. O RAC é a solução de clustering de banco de dados Oracle. Em certo sentido, funciona na teoria de que ...

Noções básicas de Redo Log Files no Oracle 12c - dummies

Noções básicas de Redo Log Files no Oracle 12c - dummies

Redo os arquivos de log armazenam as informações do buffer de log no banco de dados Oracle 12c. Eles são escritos pelo Log Writer (LGWR). Mais uma vez, você não pode ler esses arquivos binários sem a ajuda do software de banco de dados. Normalmente, os arquivos de reto de log são nomeados com a extensão. LOG ou. RDO. Pode ser qualquer coisa que você queira, ...

Escolha dos editores

São orgasmos ok durante a gravidez? - Dummies

São orgasmos ok durante a gravidez? - Dummies

As mulheres grávidas não só têm permissão para fazer sexo, mas muitas vezes o desejam. Mas é bom aproveitar a relação sexual com o ponto do orgasmo? Afinal, os orgasmos são nada mais do que contrações - e as pessoas sugeriram que isso poderia desencadear mão-de-obra. Isso é apenas um mito. De fato, grávida ...

Alimentando a Multidão em uma Reunião Familiar - manequins

Alimentando a Multidão em uma Reunião Familiar - manequins

Cozinhando uma refeição para um grande grupo (reunião familiar ou de outra forma ) requer planejamento e resistência. Aqui está um guia útil para quantidades de alimentos e segurança alimentar, e conselhos sobre a organização de uma festa de potluck. Planejando para potlucks A forma mais comum de comestibles de grupo é uma festa de potluck - qual é a maneira mais barata e fácil de ...

Anatomia do Penis humano - dummies

Anatomia do Penis humano - dummies

Sabendo como as funções de um pénis podem fornecer uma visão útil do sexo e do corpo humano - se você quer entender o pénis e a anatomia masculina melhor ou aprender sobre isso pela primeira vez. Basicamente, um pênis é composto de três estruturas, que são feitas de um material esponjoso que pode preencher com sangue: ...

Escolha dos editores

Como lidar com outliers causados ​​por Forças externas - manequins

Como lidar com outliers causados ​​por Forças externas - manequins

Certifique-se de verificar atentamente os outliers antes eles influenciam sua análise preditiva. Os outliers podem distorcer a análise de dados e dados. Por exemplo, qualquer análise estatística feita com dados que deixa outliers no lugar acaba por desviar os meios e variâncias. Os outliers não controlados ou mal interpretados podem levar a conclusões falsas. Diga os seus dados que ...

Como criar um modelo de análise preditiva com regressão R - manequins

Como criar um modelo de análise preditiva com regressão R - manequins

Você deseja criar um preditivo modelo de análise que você pode avaliar usando resultados conhecidos. Para fazer isso, vamos dividir nosso conjunto de dados em dois conjuntos: um para treinar o modelo e outro para testar o modelo. Uma divisão 70/30 entre treinamento e testes de conjuntos de dados será suficiente. As próximas duas linhas de código ...

Como definir objetivos de negócios para um modelo de análise preditiva - dummies

Como definir objetivos de negócios para um modelo de análise preditiva - dummies

Um modelo de análise preditiva visa resolvendo um problema comercial ou realizando um resultado comercial desejado. Esses objetivos comerciais se tornam os objetivos do modelo. Conhecer aqueles garante o valor comercial do modelo que você constrói - o que não deve ser confundido com a precisão do modelo. Hipotéticamente, você pode construir um modelo preciso para ...