Tipos de errores en VBA para Excel – Lista y ejemplos

Tipos de errores en VBA para Excel

Los usuarios se encontrarán a menudo con diferentes tipos de errores en VBA. A continuación, ofrecemos varias estrategias para tratarlas y resolverlas. Repasaremos las técnicas que puede utilizar para interrogar a su código durante las pruebas, así como los métodos para detectar errores en tiempo de ejecución.

Probar y rastrear diferentes tipos de errores en el código VBA puede llevar mucho tiempo y ser frustrante. Es’No es raro escuchar a los programadoresProgramar es el proceso de escribir instrucciones para que un ordenador realice. Es similar a una receta para humanos. Una receta contiene una lista de acciones dicen que más del 30% de su tiempo se dedica a las pruebas.

Con el tiempo, usted’Los usuarios se encontrarán a menudo con diferentes tipos de errores’s poco probables’nunca escribirá un código perfecto, la primera vez. Al aprender a evitar, tratar y rastrear los errores de VBA, usted’se ahorrará mucho tiempo en el futuro.

Tipos de errores VBA

Para facilitar las cosas’e han clasificado los tipos de errores de codificación en tres grupos. Para cada grupo’Exploraremos algunos ejemplos, y luego discutiremos cómo podría investigar y resolverlos.

1. Errores de sintaxis – Una línea de código específica no está escrita correctamente

2. Errores de compilación – Problemas que ocurren al juntar líneas de código, aunque las líneas de código individuales parezcan tener sentido

3. Errores en tiempo de ejecución – Cuando el código suele ser correcto en principio, pero una acción realizada por el usuario o los datos que se están utilizando conducen a errores inesperados.

Qué son los errores de sintaxis?

Los errores de sintaxis son VBA’La forma en que VBA le dice si su código tiene sentido, en el más básico de los niveles. Podemos hacer una simple comparación con las reglas de escritura de una frase en inglés:

    Jane encontrado 18 errores en su código VBA.

    De manera similar, VBA impone ciertas reglas sobre lo que se requiere en ciertas situaciones. Por ejemplo, al iniciar una sentencia condicional básica IF en su código, debe replicar las siguientes reglas sintácticas para la primera línea de una sentencia IF;

      Si NúmeroErrores>20 entonces

      Si rompe las reglas anteriores de inglés o VBA, su gramática (inglés) o sintaxis (VBA) se considera incorrecta.

      Cómo identificar un error de sintaxis

      El editor de VBA resalta los errores de sintaxis en rojo, lo que le permite identificarlos y resolverlos fácilmente. Además, si se intenta ejecutar el código o iniciar una nueva línea, se’Se le presentará el siguiente mensaje de error de sintaxis.

      Error básico de sintaxis:

      Cuadro de mensaje de error de sintaxis:

      Para asegurarse de que las comprobaciones se producen como’al escribir, habilitar el “Comprobación automática de la sintaxis” en el menú de opciones.

      Cómo resolver los errores de sintaxis

      Los errores de sintaxis representan errores en la forma en que está escrita una línea específica de su código. Deben ser corregidos antes de que pueda ejecutar su código. Con la experiencia, el texto rojo será todo lo que necesitas para detectar el error. Pero si usted’Si sigue atascado, busque en Internet “sintaxis de la sentencia if vba” o cualquier variación que se adapte a sus necesidades, y’Encontrará muchos ejemplos de la línea específica que’está tratando de escribir.

      Qué son los errores de compilación?

      Los errores de compilación se refieren a un grupo más amplio de errores de VBA, que incluyen errores de sintaxis. Los errores de compilación también identifican problemas con su código cuando se considera en su conjunto. La sintaxis de cada línea individual puede ser correcta, pero cuando se juntan, las líneas de su código no’para que tenga sentido. Los errores de compilación se resaltan cuando compila o ejecuta su código.

      Cómo identificar un error de compilación

      Cuando ejecute su código VBA, los errores de compilación se presentarán en un cuadro de diálogo VBA como en los ejemplos siguientes.

      Por otra parte, si su proyecto es largo o complejo e incluye varias rutinas, puede ser útil compilar su código antes de ejecutarlo. Evita situaciones en las que la mitad de su código se ejecuta con éxito y luego aparece un error. Puede compilar su código VBA haciendo clic en el menú de depuración → Compilar el proyecto VBA.

      Ejemplo 1

      Un error de compilación para una falta “End if” parte de una sentencia IF. Cada una de las líneas del código es correcta, pero todas juntas no son correctas’t representan una sentencia IF completa.

      Ejemplo 2

      En este ejemplo, el proceso de compilación de VBA ha detectado un error de sintaxis, resaltado en rojo. VBA indica que al código de abajo le falta un corchete de cierre en la función.

      Ejemplo 3

      Los errores de compilación son comunes cuando se utiliza la opción explícita y se producen cuando una variable no se ha definido explícitamente. Con la opción explícita activada, se requiere una declaración Dim para declarar todas las variables antes de que puedan ser utilizadas en su código.

      Cómo resolver errores de compilación

      Los errores de compilación de VBA impedirán que se ejecuten las rutinas afectadas. Hasta que no los arregle, su código no podrá ser interpretado correctamente por VBA. Los cuadros de mensajes de error suelen ofrecer consejos más útiles que los errores de sintaxis.

      Si’Si el mensaje de error no le indica inmediatamente cuál es el problema, intente utilizar el programa de ejecución de Microsoft’s Help Center para tener una idea de cómo debe escribirse exactamente su declaración o función. Aquí’s un ejemplo de la “Bloqueo if sin end if” Mensaje de error en el sitio web de Microsoft.

      Qué son los errores de ejecución?

      Una vez que’Una vez corregidos los errores de sintaxis y de compilación, se’está listo para empezar a probar o ejecutar su código correctamente para ver si ejecuta bien las acciones o cálculos deseados. Llamamos al periodo de pruebas, o ejecución en vivo del código, “runtime.”

      Los errores en tiempo de ejecución no pueden detectarse simplemente mirando el código; son el resultado de la interacción de su código con las entradas o datos específicos en ese momento.

      Los errores de tiempo de ejecución suelen ser causados por datos inesperados que se pasan al código VBA, tipos de datos que no coinciden, división por ceros inesperados y rangos de celdas definidos que no están disponibles. Los errores de tiempo de ejecución son también los más variados y complejos de localizar y solucionar.

      Cómo identificar los errores de ejecución

      La depuración de VBAVBA: Cómo depurar el códigoAl escribir y ejecutar el código VBA, es importante que el usuario aprenda a depurar los errores de código. El usuario tendrá que depurar los errores primero la función resalta el código problemático en amarillo y nos da una pequeña pista de lo que está causando el problema.

      Ejemplo 1

      Si bien el código que se muestra a continuación simplemente divide un número entre otro, hay algunos casos en los que se gana’sea posible. Por ejemplo, si la celda A1 = 2 y la celda A2 = 0, el’no es posible dividir por cero. El cuadro de error en tiempo de ejecución incluye un botón de depuración, que resalta el código problemático.

      Ejemplo 2

      En este ejemplo, he creado una matriz para recoger los nombres de n empresas en mi hoja de cálculo. A continuación, intenté hacer referencia al sexto elemento, que puede existir o no en tiempo de ejecución. VBA presenta un mensaje de error en tiempo de ejecución y me permite pulsar Debug para investigar el problema.

      Una vez que presione Debug, VBA destaca la línea de código que está causando el problema. Ahora’s a mí para usar el “Subíndice fuera de rango” mensaje para resolver lo que’s que van mal. El error de subíndice fuera de rango generalmente significa que su código es bueno en principio, pero que el elemento específico que’s que busca puede’no se encuentra. Lo más común es que ocurra al hacer referencia a celdas o rangos en Excel, así como a matrices en su código VBA.

      Para asegurarse de que la función de depuración está activada, en las Opciones > General > Menú de Trampa de Errores, el estado por defecto debería ser “Interrumpir en caso de errores no controlados.” Dejar la opción marcada.

      Cómo resolver los errores en tiempo de ejecución

      Dado que los errores en tiempo de ejecución son de naturaleza variada y compleja, las soluciones también son variadas. Los dos métodos generales para reducir los errores en tiempo de ejecución son

      Trampa de errores

      Es’Es una buena idea pensar en los posibles escenarios que puede encontrar su código. Aún mejor es probar su código en los datos de la práctica o con los usuarios reales. le permitirá reconocer tales escenarios en su VBA, con el código ramificado en diferentes resultados, dependiendo de si existen errores.

      Ejemplo 1

      Aquí, el ‘En caso de error reanudar siguiente’ obliga al código a continuar, incluso si se detecta un error. A continuación, utilizamos el método If Err > 0 prueba para crear un mensaje de advertencia, sólo si el error existe. La página web ‘On Error Goto 0’ restablece el estado predeterminado de VBA.

      Ejemplo 2

      Aquí, el código está calculando el ingreso por día, basado en un ingreso mensual, y un número definido de días. Si no se proporciona el número de días, saltamos a un punto definido en nuestro código llamado “NoDaysInMonthProvided:,” donde utilizamos el número medio de días de un mes como hipótesis de base. Aunque es simplista, muestra claramente cómo atrapar un error y saltar a un punto diferente en su código.

      Instrucciones claras para el usuario

      Una documentación clara y las etiquetas de las hojas de trabajo garantizarán que sus usuarios interactúen con su modelo de la manera que usted pretende. Nos ayudará a prevenirlos cuando introduzcamos texto, en lugar de números, o dejemos ceros que puedan afectar posteriormente a nuestro código.

      Resumen

      Hay tres tipos clave de errores en VBA que pueden afectar a su código de diferentes maneras. Es’Es importante activar VBA’Las opciones de detección de errores de Excel, como el depurador y la comprobación automática de la sintaxis. Le ayudarán a establecer la ubicación y la naturaleza de los errores.

      Más recursos

      nuestro sitio web es el proveedor oficial de la Banca Comercial global & Analista de crédito (CBCA)™Página del programa – CBCAObtenga el CBCA de nuestro sitio web™ certificación y convertirte en un comercial de la banca & Analista de crédito. Inscríbase y avance en su carrera con nuestros programas y cursos de certificación. programa de certificación, diseñado para ayudar a cualquier persona a convertirse en un analista financiero de primera clase. Para seguir avanzando en su carrera, los recursos adicionales que aparecen a continuación le serán útiles:

        Tutorial gratuito de Excel

        Para dominar el arte de Excel, consulte nuestra página web’s FREE Excel Crash CourseExcel Fundamentals – Formulas for Finance¿Está buscando un curso acelerado de Excel? Obtenga formación gratuita en Excel para una carrera en finanzas corporativas y banca de inversión del Instituto de Finanzas Corporativas., que le enseñan a convertirse en un usuario avanzado de Excel. Aprenda las fórmulas, funciones y atajos más importantes para tener confianza en sus análisis financieros.

        Lanzar nuestro sitio web’Ahora, el curso de Excel gratuito de Excel Fundamentos – Fórmulas para las finanzas¿Está buscando un curso acelerado de Excel?? Obtenga formación gratuita en Excel para una carrera en finanzas corporativas y banca de inversión del Instituto de Finanzas Corporativas.

        para llevar su carrera al siguiente nivel y ascender en el escalafón!

        Deja un comentario