VBA en caso de error Salir de Sub

En VBA, puede programar su código para salir de un sub siempre que se encuentre un error. Para hacer esto, use En caso de error Ir a y Salir de Sub.

On Error Goto le dice a VBA que cuando se encuentre un error, "Ir a" una sección específica de su código. Ex:

1 En caso de error Ir a ErrorHandler

Desde dentro de esa sección, puede decirle a VBA que Salga de Sub para salir del subprocedimiento:

12 ErrorHandler:Salir de Sub

Siga leyendo para ver estas líneas de código en acción …

Salir de un sub por error en VBA

En este ejemplo, generaremos un error dividiendo por cero:

1 i = 5/0

Vea el código completo a continuación. Cuando VBA lee el error, "irá" a la sección de código ErrorHandler y saldrá:

123456789101112131415 Sub TestError ()Dim i como enteroEn caso de error Ir a ErrorHandleri = 5/0'Haz algo con yoMsgBox iSalir de SubErrorHandler:MsgBox "Si hay error, salga del Sub"Salir de SubEnd Sub

Para especificar el manejo de errores, primero debe declarar En caso de error Ir a declaración. Debe declararse al comienzo de un Sub:

1 En caso de error Ir a ErrorHandler

Después de eso, debe declarar el código de manejo de errores. Suele estar al final del código:

123 ErrorHandler:MsgBox "Si hay un error, salga del Sub"Salir de Sub

Agregamos "Exit Sub" encima del ErrorHandler porque solo queremos ejecutar el código ErrorHandler si hay un error.

12345 Salir de SubErrorHandler:MsgBox "Si hay un error, salga del Sub"Salir de SubEnd Sub

Si ejecuta el Sub, se producirá un error debido a la división por cero. En ese momento se ejecutará el código de manejo de errores. Aparece el cuadro de mensaje y se sale del Sub.

Imagen 1. VBA On Error Exit Sub

Si desea aprender cómo finalizar la ejecución de código en VBA, haga clic en este enlace: VBA End

Si desea aprender cómo salir de una función o sub, haga clic en este enlace: VBA Exit Sub o función

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave