The Vlastnosť StatusBar objektu Application v Excel VBA možno použiť na označenie postupu dlhého makra. Týmto spôsobom môžete dať používateľovi vedieť, že makro stále beží.
Situácia:
Makro, ktoré vytvoríme, vyplní rozsah („A1: E20“) náhodnými číslami.
Do príkazového tlačidla pridajte nasledujúce riadky kódu:
1. Najprv deklarujeme tri premenné typu Integer s názvom i, j a pctCompl.
Dim i ako celé číslo, j ako celé číslo, pctCompl ako celé číslo
2. Pridajte dvojitú slučku.
Pre i = 1 až 20
Pre j = 1 až 5
Ďalej j
Ďalej i
Do slučky pridajte nasledujúce riadky kódu (na 3, 4 a 5).
3. Na importovanie náhodného čísla medzi 20 a 100 použite funkciu RandBetween.
Bunky (i, j). Hodnota = WorksheetFunction.RandBetween (20, 100)
4. Inicializujte premennú pctCompl. Druhý riadok kódu zapíše do stavového riadka hodnotu premennej pctCompl a nejaký popisný text.
pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Import údajov …" & pctCompl & "% dokončené"
Príklad: Pre i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11% bolo dokončených.
5. Na simuláciu zdĺhavého makra používame metódu Wait objektu Application.
Aplikácia. Počkajte teraz + hodnota času („00:00:01“)
6. Ak chcete obnoviť predvolený text stavového riadka, nastavte vlastnosť StatusBar na hodnotu False (mimo slučky).
Application.StatusBar = False
Výsledok po kliknutí na príkazové tlačidlo na hárku:
Poznámka: Makro môžete kedykoľvek prerušiť stlačením klávesu Esc alebo Ctrl + Break. Vizuálnejší prístup nájdete v našom programe Indikátor priebehu.