Cómo manejar los errores en excel 2016 vba

¿Cómo se puede identificar y manejar todos los errores posibles en Excel 2016? A menudo, no se puede. Afortunadamente, VBA proporciona otra manera de hacer frente a estos errores molestos.

Revisando el procedimiento EnterSquareRoot

Examine el siguiente código. La rutina utiliza un todo-propósito instrucción On Error para atrapar todos los errores y luego la comprobación para ver si el InputBox fue cancelada.

Sub EnterSquareRoot5 () Dim Num Como VariantDim Msg As String `Configure error handlingOn Error GoTo BadEntry` Solicitar un valueNum = InputBox ( ‘Introduzca un valor’) `Salir si cancelledIf Num = ‘’ Then Exit Sub` Insertar la plaza rootActiveCell. valor = Sqr (Nm) SubBadEntry Salir: Mensaje = “Se ha producido un error.” & vbNewLine & vbNewLineMsg = Msg & “Asegúrese de que se selecciona un rango,“Msg = Msg & “La hoja no está protegido,“Msg = Msg & “Y se introduce un valor no negativo.” MsgBox Mensaje, vbCriticalEnd Sub

Este trampas de rutina alguna tipo de error de tiempo de ejecución. Después de atrapar a un error de ejecución, el procedimiento EnterSquareRoot revisada muestra este cuadro de mensaje. Este buzón de mensajes se describen las causas más probables del error.

Un error de ejecución en el procedimiento genera este mensaje de error semihelpful.
Un error de ejecución en el procedimiento genera este mensaje de error semihelpful.

En el error no funciona?

Si una instrucción On Error no está funcionando como se anuncia, es necesario cambiar uno de sus ajustes:

  1. Active el VBE.

  2. Elija Herramientas → Opciones de comandos.

  3. Haga clic en la ficha General del cuadro de diálogo Opciones.

  4. Asegúrese de que el Detener en todos los errores de ajuste no está seleccionada.

    Si se selecciona esta opción, Excel ignora esencialmente cualquier error En declaraciones. Normalmente se desea mantener las opciones de captura de errores sintonizada en errores no controlados.

Sobre la instrucción On Error

El uso de una instrucción On Error en el código VBA le permite omitir el tratamiento de errores incorporado en Excel y utilizar su propio código de control de errores. En el ejemplo anterior, un error de ejecución provoca la ejecución de macros para saltar a la sentencia etiquetada BadEntry. Como resultado, se evita mensajes de error hostiles de Excel, y usted puede mostrar su propio mensaje al usuario.

Observe que el ejemplo se utiliza una instrucción Exit Sub justo antes de la etiqueta BadEntry. Esta declaración es necesaria, ya que no desea ejecutar el código de manejo de errores si hace un error no ocurrir.

Artículos Relacionados