Excel VBA StatusBar -egenskap - Enkla Excel -makron

Innehållsförteckning

De StatusBar -egenskap av applikationsobjektet i Excel VBA kan användas för att indikera framstegen för ett långt makro. På så sätt kan du låta användaren veta att ett makro fortfarande körs.

Situation:

Makrot vi ska skapa fyller Range ("A1: E20") med slumpmässiga nummer.

Lägg till följande kodrader till kommandoknappen:

1. Först deklarerar vi tre variabler av typen Integer, namngivna i, j och pctCompl.

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

2. Lägg till en dubbel loop.

För i = 1 till 20
För j = 1 till 5
Nästa j
Nästa i

Lägg till följande kodrader (vid 3, 4 och 5) i slingan.

3. Använd funktionen RandBetween för att importera ett slumpmässigt tal mellan 20 och 100.

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

4. Initiera variabeln pctCompl. Den andra kodraden skriver värdet på variabeln pctCompl och lite beskrivande text i statusfältet.

pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Importerar data …" & pctCompl & "% Completed"

Exempel: För i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11% har slutförts.

5. Vi använder väntmetoden för applikationsobjektet för att simulera ett långvarigt makro.

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

6. För att återställa texten i statusfältet, ställ in egenskapen StatusBar till False (utanför kretsen).

Application.StatusBar = Falskt

Resultat när du klickar på kommandoknappen på arket:

Obs! Du kan när som helst avbryta ett makro genom att trycka på Esc eller Ctrl + Break. För ett mer visuellt tillvägagångssätt, se vårt Progress Indicator -program.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave