/ / Excel VBA StatusBar Property

Excel VBA StatusBar Property

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

Situation:

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

Excel VBA StatusBar Property Exempel

Lägg till följande kodlinjer till kommandoknappen:

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

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

2. Lägg till en dubbel loop.

For i = 1 To 20
    For j = 1 To 5

    Next j
Next i

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

3. Använd RandBetween-funktionen för att importera ett slumptal mellan 20 och 100.

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

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

pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Importing Data.. " & pctCompl & "% Completed"

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

5. Vi använder Wait-metoden i Applikationsobjektet för att simulera ett långt makro.

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

6. För att återställa standardstatusfältet, sätt egenskapen StatusBar till False (utanför slingan).

Application.StatusBar = False

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

Excel VBA StatusBar Property Resultat

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.

Läs också: