Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Logo Excel Avanzado

On Error en VBA

| 3 comentarios

Durante nuestro manejo de macros, muchas veces es inevitable encontrarnos con errores dentro de la programación, entre los cuales podemos encontrar:

  • Errores de compilación
  • Errores lógicos
  • Errores en tiempo de ejecución.

Considerando estos casos Visual Basic nos brinda una instrucción  la cual es llamada “ On Error”, esto nos permitirá  a tomar una decisión a partir que suceda un error determinado, esta instrucción nos brinda tres alternativas de decisión: 1. "On Error Resume Next": Con esta primera alternativa la decisión a tomar seria: Si existe un error, continua con el código pero a partir de la siguiente línea al error. Esto hace que al dar inicio al código y en el proceso se encuentre un error

, esto simplemente no se detenga y no genere ningún cuadro de dialogo de error y la ejecución continúe sin problemas. Ejemplo: Para este ejemplo hemos creado un macro, en la cual  la userform5 (Este  no existe,  se ha cambiado de nombre o está mal escrito), por lo cual nos está arrojando un error. (Imagen 1) IM1 On Error en VBA

On Error VBA - Imagen 1

Si  agregamos la  opción  “On Error  Resume Next” , esta continuara su ejecución sin problemas (Imagen 2)   IM2 On Error en VBA

On Error VBA - Imagen 2

2. "On error Go to MiEtiqueta", Esta opción hace que al ejecutar la macro y este detecte un error esta continúe de forma obligatoria en la línea que marquemos con una etiqueta, De esta manera cuando se detecte un error enviaremos a un nuevo código y/o código alterno cuando se produzca el error, el cual será a continuación a la etiqueta asignada. (Imagen3)

  IM3 300x92 On Error en VBA

On Error VBA - Imagen 3

3. "On error goto 0":  Esta opción nos permite deshabilitar  la etiqueta colocada como control de errores ( Sierror, en el ejemplo anterior), de esta manera la opción”  On Error…” queda deshabilitada y se generaran nuevamente las advertencias de error. (Imagen 4  IM4 On Error en VBA

On Error VBA - Imagen 4

"On error goto -1":   Esta opción nos permite deshabilitar  la etiqueta colocada como control de errores ( Sierror, en el ejemplo anterior), de esta manera la opción”  On Error…” queda deshabilitada y se generaran nuevamente las advertencias de error. (Para mayor visualización de las imágenes, hacer clic en las mismas)  

3 comentarios

  1. Buenas noches,

    Quisiera que me colaboraran por favor con este error:
    Sub botonproductos()
    '
    ' botonproductos Macro
    '

    '
    ("Productos").Delete
    Range("C5").Delete
    ("Menú").Delete
    ActiveSheet.Shapes.Range(Array("Group 6")).Select
    . = "botonproductos"
    Range("M6").Delete
    End Sub

    Al tratar de abrir el boton me sale
    error de compilacion error de sintaxis
    y se sombrea de azul
    ("Productos").Delete
    agradezco de antemano su colaboración

  2. Excelente, me acaba de salvar en mi macro

  3. Muchas gracias!!

Deja una respuesta

Los campos requeridos estan marcados con *.