¿Cómo usar la función Error en VBA?

En VBA (Visual Basic for Applications), la función Error se utiliza para generar un error en tiempo de ejecución. Esta función es útil cuando se desea imitar errores estándar de VBA o se necesita crear errores personalizados en tu código para manejar situaciones específicas.

La función Error se puede utilizar de la siguiente manera:

VBA

Error errornumber

Donde errornumber es el número del error que deseas generar. Puede ser un número correspondiente a un error de VBA estándar o un número que hayas definido para un error personalizado.

Aquí tienes un ejemplo de cómo utilizar la función Error:

VBA

Sub CauseAnError()
    Const MyCustomError As Integer = 9999
    
    ' Simula un error de división por cero
    Error 11
    
    ' O puedes generar un error personalizado
    'Error MyCustomError
End Sub

La función Error va a generar un error que puede ser atrapado y manejado por un control de errores estructurado usando las instrucciones On Error GoTo, On Error Resume Next o On Error GoTo 0.

Aquí hay un ejemplo que muestra cómo manejar el error generado:

VBA

Sub ErrorHandlingExample()
    Const MyCustomError As Integer = 9999
    On Error GoTo ErrorHandler
    
    ' Instrucción que genera un error
    Error 11
    
    Exit Sub ' Evita ejecutar el código del control de errores si no hay error
    
ErrorHandler:
    ' Revisa qué tipo de error ha ocurrido
    If Err.Number = 11 Then
        MsgBox "Se ha producido un error de división por cero.", vbExclamation
    ElseIf Err.Number = MyCustomError Then
        MsgBox "Se ha producido un error personalizado.", vbExclamation
    Else
        MsgBox "Error número " & Err.Number & ": " & Err.Description, vbCritical
    End If
    ' Limpia el objeto Err
    Err.Clear
    ' Opcional: Reanuda la ejecución en otro lugar o sale del procedimiento
    Exit Sub
End Sub

Recuerda que generar un error con la función Error activará cualquier manejo de errores que tengas en tu procedimiento actual si lo hay. Si no hay control de errores en la función o procedimiento que causa el error, el error se propagará al llamador del procedimiento y así sucesivamente. Si el error llega a la macro principal y no se maneja, VBA mostrará un mensaje estándar de error y detendrá la ejecución del programa.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

¡Únete a nuestro Grupo de Facebook!

Deja un comentario