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.