VBA On Error Exit Sub

No VBA, você pode programar seu código para sair de um Sub sempre que um erro for encontrado. Para fazer isso, use On Error GoTo e Sair do Sub.

On Error Goto diz ao VBA que, quando um erro for encontrado, “Go To” uma seção específica de seu código. Ex:

1 On Error GoTo ErrorHandler

De dentro dessa seção, você pode dizer ao VBA para sair do Sub para sair do procedimento de sub:

12 ErrorHandler:Sair do Sub

Continue lendo para ver essas linhas de código em ação …

Sair de um Sub em caso de erro no VBA

Neste exemplo, geraremos um erro dividindo por zero:

1 i = 5/0

Veja o código completo abaixo. Quando o VBA lê o erro, ele "vai" para a seção de código ErrorHandler e sai:

123456789101112131415 Sub TestError ()Dim i As IntegerOn Error GoTo ErrorHandleri = 5/0'Faça algo com euMsgBox iSair do SubErrorHandler:MsgBox "Se houver erro, saia do Sub"Sair do SubEnd Sub

Para especificar o tratamento de erros, você primeiro precisa declarar On Error GoTo demonstração. Deve ser declarado no início de um Sub:

1 On Error GoTo ErrorHandler

Depois disso, você precisa declarar o código de tratamento de erros. Geralmente está no final do código:

123 ErrorHandler:MsgBox "Se houver erro, saia do Sub"Sair do Sub

Adicionamos o "Exit Sub" acima do ErrorHandler porque só queremos executar o código ErrorHandler se houver um erro.

12345 Sair do SubErrorHandler:MsgBox "Se houver erro, saia do Sub"Sair do SubEnd Sub

Se você executar o Sub, ocorrerá um erro devido à divisão por zero. Nesse momento, o código de tratamento de erros será executado. A caixa de mensagem aparece e o Sub é encerrado.

Imagem 1. VBA On Error Exit Sub

Se você quiser aprender como encerrar a execução de código no VBA, clique neste link: Fim do VBA

Se você quiser aprender como sair de uma Sub ou Função, clique neste link: VBA Sair da Sub ou Função

wave wave wave wave wave