Propiedad de Excel VBA StatusBar - Macros de Excel fáciles

Tabla de contenido

El Propiedad StatusBar del objeto Aplicación en Excel VBA se puede utilizar para indicar el progreso de una macro extensa. De esta manera, puede informar al usuario que todavía se está ejecutando una macro.

Situación:

La macro que vamos a crear llena Range ("A1: E20") con números aleatorios.

Agregue las siguientes líneas de código al botón de comando:

1. Primero, declaramos tres variables de tipo Integer, llamadas i, j y pctCompl.

Dim i como entero, j como entero, pctCompl como entero

2. Agregue un bucle doble.

Para i = 1 a 20
Para j = 1 a 5
Siguiente j
Siguiente yo

Agregue las siguientes líneas de código (en 3, 4 y 5) al ciclo.

3. Utilice la función RandBetween para importar un número aleatorio entre 20 y 100.

Cells (i, j) .Value = WorksheetFunction.RandBetween (20, 100)

4. Inicialice la variable pctCompl. La segunda línea de código escribe el valor de la variable pctCompl y algún texto descriptivo en la barra de estado.

pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Importando datos…" & pctCompl & "% Completed"

Ejemplo: Para i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11% se ha completado.

5. Usamos el método Wait del objeto Application para simular una macro larga.

Application.Wait Now + TimeValue ("00:00:01")

6. Para restaurar el texto predeterminado de la barra de estado, establezca la propiedad StatusBar en False (fuera del ciclo).

Application.StatusBar = False

Resultado al hacer clic en el botón de comando en la hoja:

Nota: Puede interrumpir una macro en cualquier momento presionando Esc o Ctrl + Break. Para un enfoque más visual, consulte nuestro programa de indicadores de progreso.

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave