Tipos de errores en VBA para Excel

Los usuarios a menudo encontrarán diferentes tipos de errores en VBA. A continuación, ofrecemos varias estrategias para abordarlos y resolverlos. Analizaremos técnicas que puede utilizar para interrogar su código durante la prueba, 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 ser frustrante. No es raro escuchar a los programadores Programación La programación es el proceso de escribir instrucciones para que las realice una computadora. Es similar a una receta para humanos. Una receta contiene una lista de acciones que dicen que más del 30% de su tiempo se dedica a realizar pruebas.

Con el tiempo, mejorará su capacidad para evitar errores, pero es poco probable que alguna vez escriba un código perfecto la primera vez. Al aprender a evitar, tratar y rastrear errores de VBA, se ahorrará mucho tiempo en el futuro.

Tipos de errores de VBA

Para facilitar las cosas, hemos categorizado los tipos de errores de codificación en tres grupos. Para cada grupo, exploraremos algunos ejemplos y luego discutiremos cómo podría investigarlos 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 parecen tener sentido

3. Errores de 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 producen errores inesperados.

¿Qué son los errores de sintaxis?

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

  • Se requiere un tema .
  • Se requiere un verbo .
  • Una de capital se requiere carta al comienzo.
  • Se requiere puntuación al final.
  • Los objetos, adjetivos y otras características gramaticales son opcionales.

Jane encontró 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 instrucción IF condicional básica en su código, debe replicar las siguientes reglas de sintaxis para la primera línea de una instrucción IF;

  • Debe comenzar con If
  • Lo siguiente debe ser una prueba lógica , como x> 10
  • Finalmente, debe terminar con la palabra entonces

Si NumberErrors> 20 entonces

Si infringe 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 intenta ejecutar su código o iniciar una nueva línea, aparecerá el siguiente mensaje de error de sintaxis.

Error de sintaxis básica:

Error de sintaxis básica

Cuadro de mensaje de error de sintaxis:

Cuadro de mensaje de error de sintaxis

Para asegurarse de que las comprobaciones se realicen mientras escribe, habilite "Comprobación automática de sintaxis" en el menú Opciones.

Verificación automática de sintaxis

Cómo resolver errores de sintaxis

Los errores de sintaxis representan errores en la forma en que se escribe una línea específica de su código. Deben arreglarse antes de que pueda ejecutar su código. Con experiencia, el texto rojo será todo lo que necesita para detectar el error. Pero si aún está atascado, simplemente busque en línea "if statement syntax 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 como un todo. La sintaxis de cada línea individual puede ser correcta, pero cuando se juntan, 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, los errores de compilación se presentarán en un cuadro de diálogo VBA según los ejemplos a continuación.

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

Ejemplo 1

Un error de compilación para una parte "End if" faltante de una instrucción IF. Cada línea individual en el código es correcta, pero juntas no representan una declaración IF completa.

Error de compilación: ejemplo 1

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 siguiente le falta un corchete de cierre en la función.

Error de compilación - Ejemplo 2

Ejemplo 3

Los errores de compilación son comunes cuando se usa Option Explicit y ocurren cuando una variable no se ha definido explícitamente. Con Option Explicit activada, se requiere una declaración Dim para declarar todas las variables antes de que puedan usarse en su código.

Error de compilación - Ejemplo 3

Cómo resolver errores de compilación

Los errores de compilación de VBA evitarán que se ejecuten las rutinas afectadas. Hasta que no los arregle, VBA no podrá interpretar correctamente su código. Los cuadros de mensaje de error a menudo proporcionan consejos más útiles que los errores de sintaxis.

Si no le resulta inmediatamente obvio cuál es el problema a partir del mensaje de error, intente utilizar el Centro de ayuda de Microsoft para tener una idea de cómo debe escribirse 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.

Bloquear si sin fin si

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

Una vez que haya corregido los errores de sintaxis y los errores de compilación, estará listo para comenzar a probar o ejecutar su código correctamente para ver qué tan bien ejecuta 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 en tiempo de ejecución no se pueden detectar simplemente mirando el código; son el resultado de la interacción de su código con las entradas 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, tipos de datos no coincidentes, división por ceros inesperados y rangos de celdas definidos que no están disponibles. Los errores en tiempo de ejecución también son los más variados y complejos de rastrear y corregir.

Cómo identificar errores en tiempo de ejecución

La depuración de VBA VBA: Cómo depurar código Al escribir y ejecutar código VBA, es importante que el usuario aprenda a depurar errores de código. El usuario de Excel espera que la función de código resalte el código del problema en amarillo y nos dé una pequeña pista sobre qué está causando el problema.

Ejemplo 1

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

Error de tiempo de ejecución: ejemplo 1

Errores en tiempo de ejecución: ejemplo 1a

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 o no existir en tiempo de ejecución. VBA presenta un mensaje de error en tiempo de ejecución y me permite presionar Debug para investigar el problema.

Error de tiempo de ejecución: ejemplo 2

Una vez que presiono Depurar, VBA resalta la línea de código que está causando el problema. Ahora me toca a mí usar el mensaje "Subíndice fuera de rango" para averiguar qué está fallando. El error de subíndice fuera de rango generalmente significa que su código es bueno en principio, pero que no se puede encontrar el elemento específico que está buscando. Con mayor frecuencia, sucederá al hacer referencia a celdas o rangos en Excel, así como a matrices en su código VBA.

Error de tiempo de ejecución: ejemplo 2a

Para asegurarse de que la función de depuración esté habilitada, en el menú Opciones> General> Detección de errores, el estado predeterminado debe ser "Romper en errores no controlados". Deje la opción marcada.

Romper los errores no manejados

Cómo resolver errores en tiempo de ejecución

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

Captura de errores

Es una buena idea pensar en los posibles escenarios que podría encontrar su código. Aún mejor es probar su código en datos de práctica o con usuarios reales. Le permitirá reconocer tales escenarios en su VBA, con código que se ramifica en diferentes resultados, dependiendo de si existen errores.

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 crear un mensaje de advertencia, solo si existe el error. El 'On Error Goto 0' restablece VBA a su estado predeterminado.

Captura de errores: ejemplo 1

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 proporciona el número de días, saltamos a un punto definido en nuestro código llamado “NoDaysInMonthProvided :,” donde usamos el número promedio de días en un mes como suposición base. Si bien es simplista, muestra claramente cómo atrapar un error y saltar a un punto diferente en su código.

Captura de errores: ejemplo 2

Instrucciones claras para el usuario

La documentación clara y las etiquetas de la hoja de trabajo garantizarán que sus usuarios interactúen con su modelo de la manera que usted pretendía. Ayudará a prevenirlos al ingresar texto, en lugar de números, o dejar ceros que luego pueden afectar su código.

Resumen

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

Más recursos

Finance es el proveedor oficial de la certificación global Certified Banking & Credit Analyst (CBCA) ™ CBCA ™ La acreditación Certified Banking & Credit Analyst (CBCA) ™ es un estándar global para analistas de crédito que cubre finanzas, contabilidad, análisis de crédito, análisis de flujo de efectivo , modelos de convenios, reembolsos de préstamos y más. programa de certificación, diseñado para ayudar a cualquier persona a convertirse en un analista financiero de clase mundial. Para seguir avanzando en su carrera, los recursos adicionales a continuación serán útiles:

  • #REF Errores de Excel #REF Errores de Excel #REF Los errores de Excel causan grandes problemas en las hojas de cálculo. Aprenda a encontrar y corregir errores #REF en Excel en este tutorial rápido con ejemplos y capturas de pantalla. ¡Un #REF! error (la "ref" significa referencia) es el mensaje que muestra Excel cuando una fórmula hace referencia a una celda que ya no existe, debido a que se eliminan
  • Ejemplos de Excel VBA Ejemplos de Excel VBA Excel VBA permite al usuario crear macros que automatizan procesos dentro de Excel. Esta guía utilizará ejemplos de Excel VBA para mostrar cómo grabar una macro mediante la configuración de la macro, cómo declarar variables y cómo hacer referencia a datos.
  • Consejos para escribir VBA en Excel Consejos para escribir VBA en Excel A continuación se enumeran nueve consejos para escribir VBA en Excel. VBA para Excel presenta innumerables posibilidades de automatización y cálculos personalizados.
  • Métodos VBA Métodos VBA Un método VBA es un fragmento de código adjunto a un objeto, variable o referencia de datos de VBA que le dice a Excel qué acción realizar en relación con ese objeto. Copiar, pegar y seleccionar son solo algunos ejemplos de métodos VBA que se pueden realizar.

Recomendado

¿Se cerró Crackstreams?
2022
¿Es seguro el centro de comando de MC?
2022
¿Está Taliesin dejando un papel crítico?
2022