Contenido
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.