StatusBar īpašums no lietojumprogrammas objekta Excel VBA var izmantot, lai norādītu garas makro gaitu. Tādā veidā jūs varat informēt lietotāju, ka makro joprojām darbojas.
Situācija:
Makro, kuru mēs izveidosim, aizpilda diapazonu ("A1: E20") ar nejaušiem skaitļiem.
Komandas pogai pievienojiet šādas koda rindiņas:
1. Pirmkārt, mēs deklarējam trīs Integer tipa mainīgos ar nosaukumu i, j un pctCompl.
Dim i kā vesels skaitlis, j kā vesels skaitlis, pctCompl kā vesels skaitlis
2. Pievienojiet dubulto cilpu.
Ja i = 1 līdz 20
Ja j = 1 līdz 5
Nākamais j
Tālāk i
Pievienojiet cilpai šādas koda rindiņas (pie 3., 4. un 5.).
3. Izmantojiet funkciju RandBetween, lai importētu nejaušu skaitli no 20 līdz 100.
Šūnas (i, j). Vērtība = WorksheetFunction.RandBetween (20, 100)
4. Inicializējiet mainīgo pctCompl. Otrā koda rindiņa statusa joslā raksta mainīgā pctCompl vērtību un kādu aprakstošu tekstu.
pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Importē datus …" & pctCompl & "% Pabeigts"
Piemērs: ja i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11% ir pabeigts.
5. Lai modelētu garu makro, mēs izmantojam lietojumprogrammas objekta Wait metodi.
Application.Gaidiet tūlīt + TimeValue ("00:00:01")
6. Lai atjaunotu noklusējuma statusa joslas tekstu, iestatiet rekvizītu StatusBar uz False (ārpus cilpas).
Application.StatusBar = Nepareizs
Rezultāts, noklikšķinot uz komandas pogas lapā:
Piezīme. Makro var pārtraukt jebkurā laikā, nospiežot Esc vai Ctrl + Break. Lai iegūtu vizuālāku pieeju, skatiet mūsu progresa indikatora programmu.