/ / Excel VBA StatusBar Ejendom

Excel VBA StatusBar Ejendom

Det StatusBar ejendom af applikationsobjektet i Excel VBA kan bruges til at indikere fremskridtet i en lang makro. På denne måde kan du lade brugeren vide, at en makro stadig kører.

Situation:

Makroen vi skal oprette fyldningsområde ("A1: E20") med tilfældige tal.

Excel VBA StatusBar Ejendomseksempel

Tilføj følgende kodelinjer til kommandoknappen:

1. Først erklærer vi tre variabler af typen Integer, der hedder i, j og pctCompl.

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

2. Tilføj et dobbeltløb.

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

    Next j
Next 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.

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

4. Initialiser variablen pctCompl. Den anden kode linje skriver værdien af ​​variablen pctCompl og nogle beskrivende tekst i statuslinjen.

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

Eksempel: For i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11% er blevet gennemført.

5. Vi bruger Wait-metoden til applikationsobjektet til at simulere en lang makro.

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

6. For at gendanne standard statuslinjen tekst, skal du indstille StatusBar-ejendommen til False (uden for loop).

Application.StatusBar = False

Resultat, når du klikker på kommandoknappen på arket:

Excel VBA StatusBar Ejendomsresultat

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.

Læs også: