The Lastnost StatusBar predmeta aplikacije v Excel VBA lahko uporabite za označevanje napredovanja dolgega makra. Na ta način lahko uporabniku sporočite, da se makro še izvaja.
Situacija:
Makro, ki ga bomo ustvarili, zapolni obseg ("A1: E20") z naključnimi številkami.
Ukaznemu gumbu dodajte naslednje vrstice kode:
1. Najprej razglasimo tri spremenljivke tipa Integer z imenom i, j in pctCompl.
Dim i kot celo število, j kot celo število, pctCompl kot celo število
2. Dodajte dvojno zanko.
Za i = 1 do 20
Za j = 1 do 5
Naprej j
Naprej i
V zanko dodajte naslednje kodne vrstice (pri 3, 4 in 5).
3. S funkcijo RandBetween uvozite naključno število med 20 in 100.
Celice (i, j) .Vrednost = Funkcija delovnega lista.RandBetween (20, 100)
4. Inicializirajte spremenljivko pctCompl. Druga vrstica kode zapiše vrednost spremenljivke pctCompl in nekaj opisnega besedila v vrstico stanja.
pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Uvoz podatkov …" & pctCompl & "% dokončano"
Primer: Za i = 3 je j = 1, (3 - 1) * 5 + (1 * 1) = 11%.
5. Za simulacijo dolgega makra uporabljamo metodo Wait predmeta Application.
Aplikacija. Počakajte zdaj + TimeValue ("00:00:01")
6. Če želite obnoviti privzeto besedilo vrstice stanja, lastnost StatusBar nastavite na False (zunaj zanke).
Application.StatusBar = Napačno
Rezultat, ko kliknete ukazni gumb na listu:
Opomba: Makro lahko kadar koli prekinete s pritiskom na Esc ali Ctrl + Break. Za bolj vizualni pristop si oglejte naš program Kazalnik napredka.