Az StatusBar tulajdonság az Application objektumban Excel VBA használható egy hosszú makró előrehaladásának jelzésére. Így tudathatja a felhasználóval, hogy a makró még fut.
Helyzet:
A létrehozandó makró véletlen számokkal tölti ki a tartományt ("A1: E20").
Adja hozzá a következő kódsorokat a parancsgombhoz:
1. Először három Integer típusú változót deklarálunk, nevezetesen i, j és pctCompl.
Dim i Integer, j Mint Integer, pctCompl As Integer
2. Adjon hozzá egy dupla hurkot.
I = 1 és 20 között
J = 1 -től 5 -ig
Következő j
Következő i
Adja hozzá a következő kódsorokat (3, 4 és 5) a hurokhoz.
3. Használja a RandBetween függvényt 20 és 100 közötti véletlen szám importálásához.
Cella (i, j). Érték = WorksheetFunction.RandBetween (20, 100)
4. Inicializálja a pctCompl változót. A második kódsor a pctCompl változó értékét és néhány leíró szöveget ír az állapotsorba.
pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Adatok importálása …" & pctCompl & "% Completed"
Példa: i = 3 esetén j = 1, (3 - 1) * 5 + (1 * 1) = 11% kitöltve.
5. Az Application objektum Wait módszerével hosszú makrót szimulálunk.
Application.Várjon most + TimeValue ("00:00:01")
6. Az alapértelmezett állapotsor szövegének visszaállításához állítsa a StatusBar tulajdonságot False értékre (a cikluson kívül).
Application.StatusBar = Hamis
Eredmény, ha rákattint a parancsikonra a lapon:
Megjegyzés: A makrót bármikor megszakíthatja az Esc vagy a Ctrl + Break megnyomásával. A vizuálisabb megközelítésért tekintse meg a Progress Indicator programunkat.