¿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:

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`:

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:

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

Deja un comentario