Macros de Excel: depuración de un código
Ha aprendido que la macro se almacena como código VBA en Excel. También ha aprendido que puede escribir código directamente para crear una macro en el editor de VBA. Sin embargo, como ocurre con cualquier código, incluso el código de macro puede tener defectos y es posible que la macro no se ejecute como esperaba.
Esto requiere examinar el código para encontrar los defectos y corregirlos. El término que se utiliza para esta actividad en el desarrollo de software es depuración.
Depuración de VBA
El editor de VBA le permite pausar la ejecución del código y realizar cualquier tarea de depuración requerida. A continuación se muestran algunas de las tareas de depuración que puede realizar.
- Pasando por el código
- Usar puntos de interrupción
- Hacer copias de seguridad o avanzar en el código
- No recorrer cada línea de código
- Consultar cualquier cosa mientras recorre el código
- Deteniendo la ejecución
Estas son solo algunas de las tareas que puede realizar en el entorno de depuración de VBA.
Repasando el código
Lo primero que debe hacer para la depuración es recorrer el código mientras lo ejecuta. Si tiene una idea de qué parte del código probablemente está produciendo el defecto, puede saltar a esa línea del código. De lo contrario, puede ejecutar el código línea por línea, retrocediendo o avanzando en el código.
Puede ingresar al código desde el cuadro de diálogo Macro en su libro de trabajo o desde el editor de VBA.
Stepping into the code from the workbook
Para acceder al código del libro de trabajo, haga lo siguiente:
- Haga clic en la pestaña VER en la cinta.
- Haga clic en Macros.
- Seleccione Ver macros en la lista desplegable.
Aparece el cuadro de diálogo Macro.
- Haga clic en el nombre de la macro.
- Haga clic en el botón Ingresar.
Se abre el editor de VBA y el código de macro aparece en la ventana de código. La primera línea del código macro se resaltará en color amarillo.
Stepping into the code from the VBA editor
Para ingresar al código desde el editor de VBA, haga lo siguiente:
- Haga clic en la pestaña DESARROLLADOR en la cinta.
- Haga clic en Visual Basic. Se abre el editor de VBA.
- Haga clic en el módulo que contiene el código de macro.
El código de macro aparece en la ventana de código.
Haga clic en la pestaña Depurar en la cinta.
Seleccione Step into de la lista desplegable.
Se resaltará la primera línea del código de macro. El código está en modo de depuración y las opciones de la lista desplegable Depurar se activarán.
Retroceder o avanzar en el código
Puede avanzar o retroceder en el código seleccionando Pasar por alto o Salir.
No recorrer cada línea de código
Puede evitar pasar por cada código de línea, si identifica una parte potencial del código que debe discutirse, seleccionando Ejecutar al cursor.
Usar puntos de interrupción
Alternativamente, puede establecer puntos de interrupción en líneas específicas de código y ejecutar el código, observando los resultados en cada punto de interrupción. Puede alternar un punto de interrupción y borrar todos los puntos de interrupción cuando sea necesario.
Usando Watch
Puede agregar un reloj durante la depuración para evaluar una expresión y detener la ejecución cuando una variable alcanza un valor específico. Esto significa que configura una expresión de vigilancia, que será monitoreada hasta que sea verdadera y luego la macro se detendrá y lo dejará en modo de interrupción. VBA le proporciona varios tipos de relojes para seleccionar, con el fin de lograr lo que está buscando.
Deteniendo la ejecución
Durante la depuración, en cualquier momento, si ha encontrado una pista sobre lo que va mal, puede detener la ejecución para seguir descifrando.
Si es un desarrollador experimentado, la terminología de depuración le resulta familiar y las opciones de depuración del editor de VBA simplifican su vida. Incluso de lo contrario, no tomará mucho tiempo dominar esta habilidad si ha aprendido VBA y comprende el código.