Excel VBA – Try Catch – Erros
Este artigo demonstrará como usar o VBA para tentar capturar erros.
Na maioria das linguagens de programação, você pode usar a sintaxe Try…Catch…End Try para evitar a ocorrência de erros. O código literalmente tenta ser executado e, se encontrar um erro, ele salta para a linha de captura, onde o erro pode ser documentado e devolvido ao usuário. O VBA não usa a sintaxe Try…Catch…End Try , mas podemos imitar essa sintaxe usando a sintaxe On Error GoTo.
On Error GoTo
A instrução On Error GoTo no VBA forçará nosso código a ir para uma linha específica de código se ocorrer um erro.
Sub RenomearPlanilha ()
On Error GoTo eh
ActiveSheet.Name = "Planilha1"
Exit Sub
eh:
MsgBox Err.Description
End Sub
No exemplo acima, adicionamos uma armadilha de erro em que direcionamos o código para passar para o manipulador de erros se ocorrer um erro. Em seguida, tentamos renomear a planilha para Planilha1. Se estivermos na Planilha2, por exemplo, e tentarmos renomeá-la para Planilha1, MAS a Planilha1 já existir, ocorrerá um erro e o código saltará para o manipulador de erros.
No entanto, se não houver a Planilha1 na pasta de trabalho, o código será executado perfeitamente e, como há um Exit Sub ANTES do manipulador de erros, o código do manipulador de erros não será alcançado.