Excel VBA – Try Catch – Error – Capturar Errores

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on diciembre 14, 2022

Este artículo demostrará cómo usar VBA para Capturar Errores.

En la mayoría de los lenguajes de programación, puede utilizar la sintaxis Try. ..Catch…End Try para evitar que se produzcan errores. El código literalmente intenta ejecutarse y si encuentra un error, salta a la línea de captura donde el error puede ser documentado y devuelto al usuario. VBA no utiliza la sintaxis Try…Catch…End Try pero podemos imitar esta sintaxis utilizando en su lugar la sintaxis On Error GoTo.

On Error GoTo

La sentencia On Error GoTo en VBA forzará a nuestro código a moverse a una línea específica de código si ocurre un error.

Sub RenameSheet ()
  On Error GoTo eh
    ActiveSheet.Name = "Hoja1"
    Exit Sub
  eh:
    MsgBox Err.Description
End Sub

En el ejemplo anterior, hemos añadido una trampa de error en la que indicamos al código que se mueva al controlador de errores si se produce un error. A continuación intentamos renombrar la hoja para que sea Hoja1. Si estamos en la Hoja2 por ejemplo, e intentamos renombrarla a Hoja1 PERO la Hoja1 ya existe, entonces se producirá el error y el código saltará al manejador de errores.

Try Catch en VBA

 

Sin embargo, si no existe la hoja 1 en el libro de trabajo, entonces el código se ejecutará perfectamente y como hay un manejador de error Exit Sub ANTES del manejador de error, el código del manejador de error no será alcanzado.

vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples