Vba: como sair do sub em caso de erro


Você pode usar a instrução Exit Sub no VBA para sair de um subprocedimento quando um erro for encontrado.

Aqui está uma maneira comum de usar esta declaração na prática:

 Sub DivideValues()

Dim i As Integer
On Error GoTo ErrorMessage

For i = 1 To 10
    Range(" C " & i) = Range(" A " & i) / Range(" B " & i)
Next i
    
Exit Sub

Error Message:
    MsgBox “ An Error OccurredExit Sub
    
End Sub

Esta macro específica tenta dividir cada valor no intervalo A1:A10 pelo valor correspondente no intervalo B1:B10 .

Se ocorrer um erro (por exemplo, estamos tentando dividir por zero), então a instrução On Error GoTo diz ao VBA para acessar ErrorMessage , que diz para produzir uma caixa de mensagem informando ao usuário que ocorreu um erro e encerrar o subprocedimento usando Exist Sub . declaração.

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: Como existir um sub em caso de erro no VBA

Suponha que temos a seguinte lista de valores nas colunas A e B:

Agora suponha que criemos a seguinte macro para dividir cada valor na coluna A pelo valor correspondente na coluna B e exibir os resultados na coluna C:

 Sub DivideValues()

Dim i As Integer

For i = 1 To 10
    Range(" C " & i) = Range(" A " & i) / Range(" B " & i)
Next i
    
End Sub

Ao executarmos esta macro, recebemos o seguinte erro:

Estamos recebendo este erro porque na quarta linha da planilha Excel tentamos dividir por zero.

Se quisermos simplesmente sair do subprocedimento quando esse erro ocorrer, podemos usar a instrução Exit Sub da seguinte maneira:

 Sub DivideValues()

Dim i As Integer
On Error GoTo ErrorMessage

For i = 1 To 10
    Range(" C " & i) = Range(" A " & i) / Range(" B " & i)
Next i
    
Exit Sub

Error Message:
    MsgBox “ An Error OccurredExit Sub
    
End Sub

Quando executamos esta macro, o subprocedimento resolve todos os possíveis problemas de divisão antes de encontrar um erro, então aparece uma caixa de mensagem que nos informa que ocorreu um erro e o VBA simplesmente existe no subprocedimento:

VBA em erro de saída em

Nota : Você pode encontrar a documentação completa da instrução Exit em VBA aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

Como criar pastas usando VBA
Como deletar pastas usando VBA
Como excluir arquivos usando VBA

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *