Una de las cosas que más agradecen los usuarios es poder ver el progreso de un programa cuando este tiene cierta duración. Esto supone un poco más de carga de la CPU (sobre todo por la actualización de la pantalla), pero totalmente despreciable a cambio del valor de la información que el usuario recibe.

Las macros de Excel no son una excepción y es necesario informar al usuario del progreso de una macro muchas veces para evitar que finalice/mate el proceso de Microsoft Excel al pensar que se ha bloqueado.

Desafortunadamente, Microsoft Excel no proporciona un control barra de progreso para VBA (Visual Basic for Applications). Una opción comúnmente utilizada es usar la barra de estado de Excel para mostrar el porcentaje de ejecución. Esta es una buena opción, pero podemos dar a nuestras macros un aire más profesional con el control de usuario que he desarrollado y he llamado lcf_ProgressBar.

Este control de usuario puedes integrarlo fácilmente en tus macros e informar al usuario del progreso de la ejecución con un estilo muy profesional.

El resultado final es el que se muestra en las imágenes que podéis a lo largo de este post.

 progressbar_0.png

lcf Progress Bar

lcf Progress Bar

Para poder incluir esta barra de progreso en vuestras macros, debéis descargaros el formulario de usuario que he creado. Necesitáis los dos siguientes archivos:

Una vez descargados debéis ir al editor de Visual Basic de Excel e importar el formulario frm_lcf_ProgressBar, tal y como podéis ver en la imagen:

lcf Progress Bar VBA example

Para ver un ejemplo de la barra de progreso en funcionamiento he creado un pequeño documento Excel. Lo podéis encontrar en el siguiente enlace:

Una vez descargado, sólo tenéis que pulsar el botón de “start example” y mostrara un sencillo ejemplo de la barra de progreso como el que se muestra en la siguiente imagen.

lcf Excel Progress Bar example

Nota: Toda la macro y los comentarios del código están en inglés, es cuestión de costumbre personal, no nada complejo y creo que podéis apañaros sin problemas con esta versión, sino es así, podéis usar los comentarios del post para realizar cualquier pregunta.

Nota2: Obviamente, el documento Excel de ejemplo contiene macros y Microsoft Excel os mostrará un mensaje de advertencia al abrir el fichero. Sino podéis abrir el documento Excel de ejemplo seguramente será por las opciones de seguridad, podéis cambiar estas opciones navegando a través del menú de Excel en: Herramientas –> Macros –> Seguridad…

Nota3: El ejemplo que he creado en Excel está copiado en las instrucciones del formulario, es decir, que podéis ver el ejemplo sólo descargando el formulario, importándolo en un Excel y copiando el código del ejemplo en un nuevo modulo.

Be Sociable, Share!