StatusBar -ominaisuus Sovellus -objektista Excel VBA voidaan käyttää osoittamaan pitkän makron edistymistä. Tällä tavalla voit kertoa käyttäjälle, että makro on edelleen käynnissä.
Tilanne:
Luomamme makro täyttää alueen ("A1: E20") satunnaisluvuilla.
Lisää seuraavat koodirivit komentopainikkeeseen:
1. Ensin ilmoitamme kolme Integer -tyyppistä muuttujaa, nimeltään i, j ja pctCompl.
Dim i kokonaislukuna, j kokonaislukuna, pctCompl kuten kokonaisluku
2. Lisää kaksinkertainen silmukka.
I = 1 - 20
J = 1 - 5
Seuraava j
Seuraavaksi minä
Lisää seuraavat koodirivit (kohdissa 3, 4 ja 5) silmukkaan.
3. Käytä RandBetween -funktiota tuodaksesi satunnaisluvun välillä 20–100.
Solut (i, j). Arvo = WorksheetFunction.RandBetween (20, 100)
4. Alusta muuttuja pctCompl. Toinen koodirivi kirjoittaa muuttujan pctCompl arvon ja jonkin kuvaavan tekstin tilariville.
pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Tuodaan tietoja…" & pctCompl & "% valmis"
Esimerkki: Jos i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11% on suoritettu.
5. Käytämme sovellusobjektin Wait -menetelmää pitkän makron simulointiin.
Application.Odota nyt + TimeValue ("00:00:01")
6. Jos haluat palauttaa oletuspalkkitekstin, aseta StatusBar -ominaisuuden arvoksi False (silmukan ulkopuolella).
Application.StatusBar = Väärä
Tulos, kun napsautat taulukon komentopainiketta:
Huomautus: Voit keskeyttää makron milloin tahansa painamalla Esc tai Ctrl + Break. Visuaalisempi lähestymistapa on Progress Indicator -ohjelmassa.