Uso de un indicador de progreso en macros (Microsoft Excel)
El lenguaje de macros (VBA) proporcionado con Excel es bastante poderoso. Esto significa que puedes hacer algunas tareas bastante intensas (e impresionantes) con el idioma. Algunas tareas pueden tardar bastante en completarse. El problema es que algunos usuarios pueden pensar que su computadora se ha bloqueado a menos que haya alguna indicación en pantalla de que la macro se está ejecutando.
Hay dos formas de abordar una solución para tal tarea. La primera (y más simple) opción es usar la barra de estado para indicar el progreso de su macro. Por ejemplo, puede agregar algún código a su macro mediante el cual determina el porcentaje de finalización. Una vez que tenga un porcentaje en la mano (digamos que está almacenado en la variable xPctComp), simplemente agregue la siguiente línea a su macro:
Application.StatusBar = "Portion completed: " & _ Format(xPctComp, "##0.00%")
Dicha línea podría agregarse dentro del cuerpo principal de su macro, por ejemplo, dentro de cualquier bucle que tenga que controle el procesamiento. Cuando la macro esté casi lista, debe agregar una línea que borre la barra de estado, como la siguiente:
Application.StatusBar = ""
La otra forma de crear un indicador de progreso es usar una especie de cuadro de diálogo que muestre un indicador de «indicador de combustible» en cuanto al porcentaje completado. Existen numerosas implementaciones de este concepto ya disponibles en la Web. Un buen representante de este enfoque se encuentra en el sitio de John Walkenbach:
http://www.j-walk.com/ss/excel/tips/tip34.htm
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (2496) se aplica a Microsoft Excel 97, 2000, 2002 y 2003.