sábado, 5 de noviembre de 2011

Enfrentarse a los errores

Pueden aparecer los siguientes tipos de errores al escribir y ejecutar procedimientos VBA:

Sintaxis y errores gramaticales:
Estos son los errores más fáciles de corregir, porque el editor ayuda a encontrarlos, si no son corregidos estos provocan un error de compilación, de  ahí el mensaje que aparece.



Errores en tiempo de ejecución:
Estos errores no pueden ser detectados hasta que no se ejecuta el procedimiento en su entorno final.

Errores lógicos:
Estos errores simplemente dan una respuesta equivocada, el procedimiento hace justo lo que le hemos dicho que haga, pero el resultado no es el esperado.

Administración de errores
Hay errores que pueden hacer que VBA se comporte de forma imprevisible.
Para evitar esto, es posible manejar el error con ayuda de las siguientes instrucciones y funciones:

On Error: Indican una secuencia de instrucciones que se ejecutan en caso de error.

Sub GOTOMacro()
Dim X, Y
On Error GoTo CasoError
    Y = [A1] / [B1]
    ' Si diera error, saltaría a la línea 'CasoError'
        For X = 1 To 50
        Cells(X, 1) = X
    Next X
Exit Sub
CasoError:
    MsgBox "Ha surgido un error, intente con otros valores en A1 y B1"
End Sub

Resumen: La instrucción Resumen nos permite seguir con la ejecución del código cuando termina la rutina de administración del error.

Hay tres sintaxis diferentes:
  • Resumen O: reanuda la ejecución del código donde se produjo el error.
  • Resumen Next: reanuda a partir de la instrucción siguiente.
  • Resumen Linea: reanuda en una línea específica.

Sub Macro ()
' Si hay un error lo ignora y continúa ejecutando el resto del código
On Error Resume Next
' Aquí iría el resto del código
End Sub



No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.