Det StatusBar -ejendom af applikationsobjektet i Excel VBA kan bruges til at angive udviklingen af en lang makro. På denne måde kan du lade brugeren vide, at en makro stadig kører.
Situation:
Makroen, vi skal oprette, udfylder Range ("A1: E20") med tilfældige tal.
Tilføj følgende kodelinjer til kommandoknappen:
1. For det første erklærer vi tre variabler af typen Integer, navngivet i, j og pctCompl.
Dim i As Integer, j As Integer, pctCompl As Integer
2. Tilføj en dobbelt sløjfe.
For i = 1 til 20
For j = 1 til 5
Næste j
Næste i
Tilføj følgende kodelinjer (ved 3, 4 og 5) til sløjfen.
3. Brug RandBetween -funktionen til at importere et tilfældigt tal mellem 20 og 100.
Celler (i, j) .Value = WorksheetFunction.RandBetween (20, 100)
4. Initialiser variablen pctCompl. Den anden kodelinje skriver værdien af variablen pctCompl og en del beskrivende tekst i statuslinjen.
pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Importerer data …" & pctCompl & "% fuldført"
Eksempel: For i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11% er gennemført.
5. Vi bruger ventemetoden i applikationsobjektet til at simulere en lang makro.
Application.Wait Now + TimeValue ("00:00:01")
6. Hvis du vil gendanne standardstatuslinjens tekst, skal du angive egenskaben StatusBar til Falsk (uden for løkken).
Application.StatusBar = Falsk
Resultat, når du klikker på kommandoknappen på arket:
Bemærk: Du kan til enhver tid afbryde en makro ved at trykke på Esc eller Ctrl + Break. For en mere visuel tilgang, se vores Progress Indicator -program.