Cómo manejar los errores en Excel 2016 VBA

  1. Software
  2. Oficina de Microsoft
  3. Excel
  4. Cómo manejar los errores en Excel 2016 VBA

Libro Relacionado

Programación de Excel VBA para Dummies, 4ª Edición

Por John Walkenbach

¿Cómo puede identificar y manejar cada posible error en Excel 2016? A menudo, no se puede. Afortunadamente, VBA proporciona otra manera de tratar esos molestos errores.

Revisando el procedimiento EnterSquareRoot

Examine el siguiente código. La rutina utiliza una instrucción On Error de propósito general para atrapar todos los errores y, a continuación, comprobar si se ha cancelado la InputBox.

Sub EnterSquareRoot5() Dim Num As Variant Dim Msg As String' Configurar manejo de errores On Error GoTo BadEntry' Solicitar un valor Num = InputBox("Enter a value")' Exit if cancelled If Num = "" Then Exit Sub' Insertar la raíz cuadrada ActiveCell.Value = Sqr(Num) Exit SubBadEntry: Msg = "Se ha producido un error" & vbNewLine & vbNewLine Msg = Msg & "Asegúrese de que se ha seleccionado un rango, " Msg = Msg & "la hoja no está protegida," Msg = Msg & "y usted introduce un valor no negativo. MsgBox Msg, vbCriticalEnd Submarino

Esta rutina atrapa cualquier tipo de error de ejecución. Después de atrapar un error de ejecución, el procedimiento EnterSquareRoot revisado muestra este cuadro de mensaje. Este cuadro de mensaje describe las causas más probables del error.

Un error de tiempo de ejecución en el procedimiento genera este mensaje de error semiautomático.

On ¿Error no funciona?

Si una instrucción On Error no funciona como se anuncia, debe cambiar una de sus configuraciones:

  1. Active el VBE.
  2. Seleccione el comando Herramientas → Opciones.
  3. Haga clic en la ficha General del cuadro de diálogo Opciones.
  4. Si esta opción está seleccionada, Excel esencialmente ignora cualquier instrucción de error. Normalmente desea mantener las opciones de detección de errores configuradas en Break on Unhandled Errors (Interrumpir en errores no resueltos).

Acerca de la sentencia On Error

El uso de una declaración On Error en su código VBA le permite evitar el manejo de errores incorporado de Excel y utilizar su propio código de manejo de errores. En el ejemplo anterior, un error de ejecución hace que la ejecución de la macro salte a la sentencia BadEntry. Como resultado, evita los desagradables mensajes de error de Excel y puede visualizar su propio mensaje al usuario.

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

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*