/ / Excel VBA StatusBar tulajdonság

Excel VBA StatusBar tulajdonság

A StatusBar tulajdonság az Alkalmazás objektumban a Excel VBA felhasználható hosszú makró előrehaladásának jelzésére. Így a felhasználó tudja, hogy egy makró még mindig fut.

Helyzet:

A létrehozni kívánt makrót a tartomány ("A1: E20") töltse meg véletlen számokkal.

Excel VBA StatusBar tulajdonság példa

Adja hozzá a következő kódsorokat a parancsgombhoz:

1. Először három típusú változót deklarálunk: i, i, j és pctCompl.

Dim i As Integer, j As Integer, pctCompl As Integer

2. Adjon hozzá egy dupla hurkot.

For i = 1 To 20
    For j = 1 To 5

    Next j
Next i

Adja hozzá a következő kódsorokat (3, 4 és 5) a hurokhoz.

3. Használja a RandBetween funkciót, ha véletlen számot importál 20 és 100 között.

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

4. Inicializálja a pctCompl változót. A második kódsor írja a pctCompl változó értékét és néhány leíró szöveget az állapotsorban.

pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Importing Data.. " & pctCompl & "% Completed"

Példa: Ha i = 3, j = 1, (3-1) * 5 + (1 * 1) = 11% befejeződött.

5. Az Application objektum Várakozási módját hosszú makrók szimulálására használjuk.

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

6. Az alapértelmezett állapotsor szövegének visszaállításához állítsa a StatusBar tulajdonságot hamis (a hurokon kívül).

Application.StatusBar = False

Eredmény, ha rákattint a parancs gombra a lapon:

Excel VBA StatusBar Tulajdonság Eredmény

Megjegyzés: A makrót bármikor megszakíthatja az Esc vagy a Ctrl + Break gomb megnyomásával. A vizuálisabb megközelítésért lásd a Progress Indicator programot.

Szintén olvasható: