Índice:
Vídeo: Erros Comuns ao fazer a Função PROCV no Excel 2025
Como você pode identificar e lidar com todos os erros possíveis no Excel 2016? Muitas vezes, você não pode. Felizmente, a VBA fornece outra maneira de lidar com esses erros trapinos.
Revisitando o procedimento EnterSquareRoot
Examine o seguinte código. A rotina usa uma declaração de erro On Error para capturar todos os erros e depois verificando se o InputBox foi cancelado.
Sub EnterSquareRoot5 () Dim Num como Variant Dim Msg Como String 'Configurar o tratamento de erros On Error GoTo BadEntry' Solicitar um valor Num = InputBox ("Enter a value") 'Sair se cancelado Se Num = "" Then Exit Sub 'Insira a raiz quadrada ActiveCell. Valor = Sqr (Num) Sair Sub BadEntry: Msg = "Ocorreu um erro. "& VbNewLine & vbNewLine Msg = Msg &" Certifique-se de que um intervalo está selecionado, "Msg = Msg &" a folha não está protegida, "Msg = Msg &" e você insere um valor não negativo. "MsgBox Msg, vbCritical End Sub
Esta rotina remove qualquer tipo de erro de tempo de execução . Depois de capturar um erro de tempo de execução, o procedimento de EnterSquareRoot revisado exibe esta caixa de mensagem. Esta caixa de mensagem descreve as causas mais prováveis do erro.
On Error não está funcionando?
Se uma instrução On Error não estiver funcionando conforme anunciado, você precisa alterar uma das suas configurações:
-
Ativar o VBE.
-
Escolha o comando Ferramentas → Opções.
-
Clique na guia Geral da caixa de diálogo Opções.
-
Certifique-se de que a configuração Break on All Errors esteja desmarcada.
Se esta configuração for selecionada, o Excel essencialmente ignora quaisquer declarações On Error. Normalmente, você deseja manter as opções de Trapping de Erro configuradas para quebrar em Erros não tratados.
Sobre a instrução On Error
Usar uma declaração On Error em seu código VBA permite que você ignore o tratamento de erros embutido do Excel e use seu próprio código de tratamento de erros. No exemplo anterior, um erro de tempo de execução faz com que a execução da macro salte para a instrução denominada BadEntry. Como resultado, você evita mensagens de erro hostis do Excel, e você pode exibir sua própria mensagem para o usuário.
Observe que o exemplo usa uma declaração Exit Sub antes do rótulo BadEntry. Esta declaração é necessária porque você não deseja executar o código de manipulação de erros se ocorrer um erro não .
