En nuestro artículo anterior, analizamos el uso de la ventana Inmediato para mostrar resultados de la ejecución de la función Debug.Print: La Instrucción Debug.Print en VBA
Sin embargo, Inmediato tiene también otros usos que pueden ayudarte a agilizar la evaluación y detección de errores en tu código, al permitirte ejecutar líneas de manera independiente y rápida.
Esto se debe a que Inmediato nos permite ejecutar líneas de código sin que necesariamente se encuentren en el contexto de una subrutina o macro. Por supuesto, estas líneas idealmente no deben guardar interdependencia con otras líneas del código. Por ejemplo, no deben emplear variables cuyos valores hayan sido obtenidos en algún otro fragmento.
Su uso es muy sencillo: simplemente debemos activar la ventana Inmediato, en caso de no tenerla ya activada, y a continuación escribir la línea de código que deseamos probar en ella. Para mostrar esta ventana, podemos dirigirnos a Ver > Ventana Inmediato, o el atajo Ctrl+G directamente desde nuestro editor de VBA:
Llegó la hora de escribir el código.Como dijimos, este procedimiento nos permitirá probar la ejecución de una sencilla línea la vez, por lo cual es importante que sepamos que, sí bien Inmediato puede contener varias líneas en su interior (por ejemplo líneas que se hayan probado previamente y no se hayan eliminado luego, o los resultados de la función Debug.Print), solo se ejecutará aquella misma que se encuentra a la altura de nuestro cursor. Y para ejecutarla, simplemente tendremos que presionar Enter.
Dicho en otras palabras: al presionar Enter, se ejecutará la línea en la que nos encontramos posicionados con nuestro cursor, sin importar si en Inmediato había otras líneas de código también a continuación, o antes de ella. Esta ventana nos permite ejecutar el código por línea, y no por bloque. Desde luego, tampoco es necesario rodear esta línea, entre las declaraciones Sub... End Sub.
A continuación, podremos analizar si la ejecución de esta línea en particular ha producido los resultados que estamos esperando, o si por el contrario se ha producido un error. De esta manera, podemos aislar los efectos de una ejecución de un código, para probar si tendrá los efectos que estamos buscando, o si es realmente el motivo del error que nos preocupaba tanto, sin necesidad de previamente tener que ejecutar toda la serie de instrucciones que la precede.
En caso de que nuestra línea a verificar contenga de hecho interdependencias con variables de nuestra macro, bastará con reemplazar dichas variables con los valores que esperamos que asuman en ese momento.