Tipos de errores en VBA para Excel

En el mundo de la programación en VBA para Excel, los errores son inevitables. Ya sea que seas un principiante o un experto en el campo, enfrentarás diversos desafíos al desarrollar tu código. Estos errores pueden ser frustrantes y consumir mucho tiempo, pero no te preocupes, ¡estamos aquí para ayudarte! En este artículo, exploraremos los diferentes tipos de errores comunes que puedes encontrar mientras trabajas con VBA para Excel. Desde errores de sintaxis hasta errores lógicos, te proporcionaremos consejos prácticos y soluciones efectivas para que puedas superar cualquier obstáculo sin problemas. Por lo tanto, si estás listo para potenciar tus habilidades en VBA y aprender cómo lidiar con los errores más comunes, ¡sigue leyendo!

Aprenda a tratar y corregir errores de VBA en Excel

Más de 1,8 millones de profesionales utilizan CFI para aprender contabilidad, análisis financiero, modelado y más. Comience con una cuenta gratuita para explorar más de 20 cursos siempre gratuitos y cientos de plantillas financieras y hojas de trucos.

Tipos de errores en VBA para Excel

Los usuarios suelen encontrar varios tipos de errores en VBA. A continuación ofrecemos varias estrategias para abordar y resolver estos problemas. Repasaremos técnicas para consultar su código durante las pruebas, así como métodos para detectar errores en tiempo de ejecución.

Tipos de errores en VBA para Excel

Probar y rastrear diferentes tipos de errores en el código VBA puede llevar mucho tiempo y resultar frustrante. No es raro que los programadores digan que dedican más del 30% de su tiempo a realizar pruebas.

Con el tiempo, mejorarás a la hora de evitar errores, pero es poco probable que escribas un código perfecto la primera vez. Si aprende cómo evitar, manejar y detectar errores de VBA, ahorrará mucho tiempo en el futuro.

Tipos de errores de VBA

Por conveniencia, hemos dividido los tipos de errores de codificación en tres grupos. Para cada grupo, examinamos algunos ejemplos y luego discutimos cómo investigarlos y resolverlos.

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

2. Error de compilación – Problemas encontrados al componer líneas de código a pesar de que las líneas de código individuales parecen tener sentido

3. Error de tiempo de ejecución – Cuando el código es generalmente correcto, pero una acción del usuario o de los datos utilizados produce errores inesperados.

¿Qué son los errores de sintaxis?

Los errores de sintaxis son la forma en que VBA le indica, en el nivel más básico, si su código tiene sentido. Podemos hacer una comparación sencilla con las reglas para escribir una oración en inglés:

  • A Tema se requiere.
  • A verbo se requiere.
  • A Ciudad capital Se requiere una carta de presentación al principio.
  • puntuación es necesario al final.
  • Los objetos, adjetivos y otras características gramaticales son opcionales.

jane encontró 18 errores en tu código VBA.

De manera similar, VBA establece ciertas reglas sobre lo que se requiere en determinadas situaciones. Por ejemplo, cuando inicia una declaración IF condicional simple en su código, debe replicar las siguientes reglas de sintaxis para la primera línea de una declaración IF;

  • tiene que empezar con esto Si
  • Lo siguiente tiene que ser un prueba lógicacomo Por ejemplo x>10
  • Después de todo, tiene que terminar con la palabra. Entonces

Si Número de errores>20 Entonces

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

Cómo identificar un error de sintaxis

El editor de VBA resalta los errores de sintaxis en rojo para que pueda identificarlos y corregirlos fácilmente. Además, cuando intente ejecutar su código o iniciar una nueva línea, recibirá el siguiente mensaje de error de sintaxis.

Error de sintaxis básica:

Tipos de errores en VBA para Excel

>Cuadro de mensaje de error de sintaxis:

Tipos de errores en VBA para Excel

Para asegurarse de que se realicen comprobaciones a medida que escribe, habilite la «Comprobación automática de sintaxis» en el menú «Opciones».

Tipos de errores en VBA para Excel

Cómo corregir errores de sintaxis

Los errores de sintaxis representan errores en la forma en que se escribe una línea particular de su código. Deben corregirse antes de que pueda ejecutar su código. Con un poco de experiencia, el texto rojo es suficiente para reconocer el error. Pero si todavía estás atascado, simplemente busca en línea «if sintaxis de declaración vba» o cualquier otra variante que se adapte a tus necesidades y encontrarás muchos ejemplos para la línea específica que deseas 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 también incluye errores de sintaxis. Los errores de compilación también identifican problemas con su código cuando lo mira en su conjunto. La sintaxis de cada línea puede ser correcta, pero en conjunto, las líneas de su código no tienen sentido. Los errores de compilación se resaltan cuando compila o ejecuta su código.

Cómo identificar un error de compilación

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

Alternativamente, si su proyecto es largo o complejo e involucra múltiples rutinas, puede resultar útil compilar su código antes de ejecutarlo. Evita situaciones en las que la mitad del código se ejecuta correctamente y luego se produce un error. Puede compilar su código VBA haciendo clic en Menú Depurar → Compilar proyecto VBA.

Ejemplo 1

Un error de compilación debido a que falta la parte «Finalizar si» de una declaración IF. Cada línea individual del código es correcta, pero juntas no constituyen una declaración IF completa.

Tipos de errores en VBA para Excel

Ejemplo 2

En este ejemplo, el proceso de compilación de VBA detectó un error de sintaxis, que está resaltado en rojo. VBA señala que al siguiente código le falta un paréntesis de cierre para la función.

Tipos de errores en VBA para Excel

Ejemplo 3

Los errores de compilación son comunes cuando se usa Option Explicit y ocurren cuando una variable no está definida explícitamente. Cuando la opción explícita está habilitada, se requiere una declaración Dim para declarar todas las variables antes de que puedan usarse en su código.

Tipos de errores en VBA para Excel

Cómo corregir errores de compilación

Los errores de compilación de VBA impiden que se ejecuten las rutinas afectadas. Hasta que los solucione, VBA no podrá interpretar correctamente su código. Los campos de mensajes de error suelen proporcionar información más útil que los errores de sintaxis.

Si no puede saber inmediatamente cuál es el problema a partir del mensaje de error, intente esto El Centro de ayuda de Microsoft para tener una idea de cómo se debe escribir exactamente su declaración o función. A continuación se muestra un ejemplo del mensaje de error «Bloquear si sin fin si» en el sitio web de Microsoft.

Tipos de errores en VBA para Excel

¿Qué son los errores de tiempo de ejecución?

Una vez que corrija los errores de sintaxis y de compilación, puede comenzar a probar o ejecutar correctamente su código para ver qué tan bien realiza las acciones o cálculos deseados. Al período de prueba o ejecución en vivo del código lo llamamos «tiempo de ejecución».

Los errores de ejecución no se pueden detectar simplemente mirando el código; Son el resultado de la interacción de su código con la entrada o los datos específicos en ese momento.

Los errores de tiempo de ejecución a menudo son causados ​​por datos inesperados que se pasan al código VBA, discrepancias en los tipos de datos, divisiones por ceros inesperados y rangos de celdas definidos que no están disponibles. Los errores de ejecución también son los más diversos y difíciles de detectar y corregir.

Cómo identificar errores de tiempo de ejecución

La función de depuración de VBA resalta el código del problema en amarillo y nos da una pequeña pista sobre la causa del problema.

Ejemplo 1

Si bien el código siguiente simplemente divide un número entre otro, hay algunos casos en los que esto no es posible. Por ejemplo, si la celda A1 = 2 y la celda A2 = 0, no es posible la división por cero. El cuadro de error de tiempo de ejecución contiene un botón Depurar que resalta el código del problema.

Tipos de errores en VBA para Excel

Tipos de errores en VBA para Excel

Ejemplo 2

En este ejemplo, creé una matriz para recopilar los nombres de n empresas en mi hoja de trabajo. Luego intenté hacer referencia al sexto elemento, que puede existir o no en tiempo de ejecución. VBA muestra un mensaje de error de tiempo de ejecución y me permite hacer clic en Depurar para investigar el problema.

Tipos de errores en VBA para Excel

Tan pronto como presiono depurar, VBA resalta la línea de código que está causando el problema. Ahora me toca a mí descubrir qué está mal usando el mensaje «Índice fuera de rango». El error «índice fuera de rango» generalmente significa que su código es básicamente bueno, pero no se puede encontrar el elemento que está buscando. Esto ocurre con mayor frecuencia al hacer referencia a celdas o rangos en Excel, así como a matrices en su código VBA.

Tipos de errores en VBA para Excel

Para garantizar que la función de depuración esté habilitada, el estado predeterminado debe ser «Interrumpir en errores no controlados» en el menú Opciones > General > Trampas de errores. Deje la opción marcada.

Tipos de errores en VBA para Excel

Cómo corregir errores de tiempo de ejecución

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

Captura de errores

Es una buena idea pensar en los posibles escenarios que podrían surgir en su código. Aún mejor, pruebe su código con datos de práctica o con usuarios reales. Esto le permitirá detectar tales escenarios en su VBA, y el código se bifurcará en diferentes resultados según el error.

Ejemplo 1

Aquí, la línea «En caso de error, reanudar a continuación» obliga al código a continuar incluso si se detecta un error. Luego usamos la prueba If Err > 0 para generar una alerta solo si ocurre el error. «En caso de error, ir a 0» restablece VBA al estado predeterminado.

Tipos de errores en VBA para Excel

Ejemplo 2

Aquí el código calcula los ingresos por día en función de un ingreso mensual y un número definido de días. Si no se especifica la cantidad de días, saltamos a un punto definido en nuestro código llamado «NoDaysInMonthProvided:» donde usamos la cantidad promedio de días en un mes como suposición base. Aunque simple, muestra claramente cómo detectar un error y saltar a otro lugar de su código.

Tipos de errores en VBA para Excel

Instrucciones claras para el usuario

La documentación clara y las etiquetas de las hojas de trabajo garantizan que sus usuarios interactúen con su modelo de la forma prevista. Esto evita que ocurran al ingresar texto en lugar de números o dejar ceros, lo que luego podría afectar su código.

Resumen

Hay tres tipos principales de errores en VBA que pueden afectar su código de diferentes maneras. Es importante habilitar las opciones de detección de errores de VBA, como el depurador y la verificación automática de sintaxis. Le ayudarán a determinar la ubicación y el tipo de errores.

Más recursos

CFI es el proveedor oficial del programa de certificación global Commercial Banking & Credit Analyst (CBCA)™, diseñado para ayudar a cualquier persona a convertirse en un analista financiero de clase mundial. Para avanzar aún más en su carrera, los siguientes recursos adicionales le serán útiles:

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Deja un comentario

¡Contenido premium bloqueado!

Desbloquear Contenido
close-link