Manejo de errores de VBA - Guía para el manejo de errores en Excel VBA

Tabla de contenido

Manejo de errores de Excel VBA

En VBA, cuando trabajamos con códigos, podemos encontrar muchos tipos diferentes de errores y la forma de solucionar estos errores se conoce como manejo de errores, ahora puede haber algunos errores que se cometen en la sintaxis que sobresalen, lo resalta pero cuando hay algún error que está fuera del rango o algo que no existe Excel nos da una ventana emergente para el mismo, es importante saber qué código de error es para qué error para poder identificar el error en el código.

En Excel VBA, al ejecutar cualquier conjunto de códigos, obtenemos algún tipo de error. Algunos de estos errores son errores de sintaxis; algunos son errores que no se pueden ejecutar. El error de sintaxis es cuando el usuario lo resalta en color rojo por Excel. Pero cuando hay algún otro tipo de error en el tiempo de ejecución, cómo lo manejamos y cómo vamos más allá de esto es lo que cubriremos en este artículo.

Aparte de los errores de sintaxis, los otros errores de tiempo de ejecución deben manejarse mientras se ejecuta cualquier conjunto de códigos. Primero, déjeme dar un ejemplo de cómo ocurre el otro error de tiempo de ejecución. Eche un vistazo al siguiente código,

Este es un código de muestra, cuando se ejecuta, devolverá lo que está escrito en la función msgbox. Pero como podemos ver que en la segunda línea del código, hay 4/0, lo cual no es posible en términos matemáticos, por lo que devolverá un error de tiempo de ejecución. Ejecutemos el código anterior y veamos el error que obtendremos.

Este es el error que obtenemos al ejecutar el código dado. Ahora, ¿cómo manejamos este error mediante Manejo de errores?

Hay dos métodos para manejar errores que son:

  1. En Error Goto, y
  2. En caso de error, reanudar a continuación.

Explicación

Como se explicó anteriormente, obtenemos muchos tipos de errores en VBA. Algunos son sintaxis y otros son tiempo de ejecución. Los errores de sintaxis ya están resaltados en color rojo, por ejemplo, consulte la captura de pantalla a continuación,

Mientras que el otro es errores de tiempo de ejecución. Básicamente, Excel hará las siguientes tres cosas, mostrará un error o ignorará ese error, o mostrará un cierto conjunto de instrucciones. Para realizar tales tareas, necesitamos dar instrucciones, y esto se llama Manejo de errores.

¿Cómo manejar errores en el código VBA?

Ejemplo 1

Para el primer ejemplo, tomemos el primer código que tomamos como demostración. En el ejemplo anterior, hemos visto que el código da un error de tiempo de ejecución en la segunda función de msgbox.

Escriba el siguiente código después de abrir la subfunción,

Código:

Submuestra () En caso de error Reanudar Siguiente MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 End Sub

Ahora, cuando ejecutamos el código anterior, vemos que la línea de código que tiene el error no se ejecuta. Excel salta esa línea y continúa en la siguiente línea.

Hay otro método para manejar el error es VBA Goto Statement. Ofrecemos Excel como un destino al que acudir cuando encuentra un error. En lugar del código de manejo de errores anterior, insertamos, anote el siguiente código,

Código:

Submuestra () en caso de error Ir a az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 End Sub

Le damos a Excel Az como destino al que ir si encuentra un error. Ahora, después de msgbox, escriba otro código como se muestra a continuación,

Código:

Submuestra () en caso de error Ir a az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 Listo: Salir de Sub

Ahora necesitamos definir el destino az como lo que debería hacer cuando Excel encuentra un error en el código.

Código:

Submuestra () en caso de error Ir a az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 Hecho: Salir de Sub az: MsgBox "Esto es un error" & Err.Description End Sub

Ahora, cuando ejecutamos este código, vemos el resultado mostrado.

Este es el primer resultado del cuadro de mensaje y como sabemos que tenemos un error en la siguiente línea de nuestro código, veamos el resultado que dará Excel.

La descripción del error anterior en el código nos ayuda a mostrar exactamente qué error ha ocurrido en nuestro código.

Ejemplo # 2

Hemos aprendido a manejar errores en nuestros códigos. Veamos otro ejemplo de cómo manejar errores. Considere el siguiente código como nuestro segundo ejemplo.

Tenemos un error algo similar al del ejemplo 1. El error está en la línea d = i / b. Ahora manejaremos estos errores usando los dos métodos explicados anteriormente.

Escriba el siguiente código después de abrir la subfunción,

Código:

Submuestra2 () En caso de error Reanudar Siguiente bx Dim i como entero, b como entero, c como entero, d como entero i = 2 b = 0 c = i + b MsgBox cd = i / b MsgBox d End Sub

Now when we execute our code, we can see that it ignores the second line and just displays the value for C.

The above error handler was a resume next, and now we will use the Go to wherein we will tell we excel a destination to go when it encounters an error. Write down the following code,

Code:

Sub Sample2() On Error GoTo bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox c d = i / b MsgBox d

The bx is a destination given when it encounters an error after msgbox D write down the following code,

Code:

Sub Sample2() On Error GoTo bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox c d = i / b MsgBox d DOne: Exit Sub

Now we need to define the destination Bx what it should do when it encounters an error, So write down the following code,

Code:

Submuestra2 () En caso de error Ir a bx Dim i como entero, b como entero, c como entero, d como entero i = 2 b = 0 c = i + b MsgBox cd = i / b MsgBox d DOne: Salir Sub bx: MsgBox "Este es otro error" & Err.Description End Sub

Ahora, cuando ejecutamos el código, podemos ver que Excel primero nos da el valor de C.

Ahora, en otro paso, nos dará el mensaje que le proporcionamos cuando encuentre un error.

Así es como manejamos los errores de tiempo de ejecución normales en Excel VBA.

Cosas para recordar

Hay algunas cosas que debemos recordar sobre el manejo de errores:

  1. En caso de error, reanudar a continuación, ignora el error.
  2. On Error GoTo Le da a Excel un destino cuando encuentra un error.
  3. La descripción se utiliza para mostrar el error exacto que se le ocurrió al usuario.

Articulos interesantes...