/ / "Excel VBA StatusBar" nuosavybė

"Excel VBA StatusBar" nuosavybė

The StatusBar nuosavybė objekto "Application" versijoje Excel VBA gali būti naudojamas norint parodyti ilgą makroekonomiką. Tokiu būdu galite leisti naudotojui žinoti, kad makrokomandas vis dar veikia.

Padėtis:

Makrokomandą mes sukursime, kad užpildytų Range ("A1: E20") su atsitiktiniais skaičiais.

Excel VBA StatusBar nuosavybės pavyzdys

Į komandų mygtuką pridėkite šias kodo eilutes:

1. Pirma, deklaruojame tris kintamuosius tipo Integer, pavadintą i, j ir pctCompl.

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

2. Pridėti dvigubą kilpą.

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

    Next j
Next i

Įtraukite šias kodo eilutes (3, 4 ir 5) į kilpą.

3. Naudodami funkciją RandBetween, atsitiktinį skaičių importuoti nuo 20 iki 100.

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

4. Inicijuoti kintamąjį pctCompl. Antroji kodo eilutė įrašo kintamojo pctCompl reikšmę ir aprašomąjį tekstą būsenos juostoje.

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

Pavyzdys: jei i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11%.

5. Mes naudojame "Application" objekto "Wait" metodą, kad imituotų ilgą makrokomandą.

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

6. Jei norite atkurti numatytąjį būsenos juostos tekstą, nustatykite būsenos būklės reikšmę False (už loopo ribų).

Application.StatusBar = False

Rezultatas spustelėjus komandą mygtuką ant lapo:

"Excel VBA StatusBar nuosavybės rezultatas"

Pastaba: galite bet kuriuo metu nutraukti makrokomandą paspausdami Esc arba Ctrl + Break. Norėdami pamatyti vizualų požiūrį, žr. Mūsų pažangos rodiklio programą.

Taip pat perskaitykite: