/ / Excel VBA StatusBar Property

Excel VBA StatusBar Property

De StatusBar eiendom av applikasjonsobjektet i Excel VBA kan brukes til å indikere fremdriften av en lang makro. På denne måten kan du la brukeren vite at en makro fortsatt kjører.

Situasjon:

Makroen vi skal lage fyller Range ("A1: E20") med tilfeldige tall.

Excel VBA StatusBar Property Eksempel

Legg til følgende kodelinjer på kommandoknappen:

1. Først erklærer vi tre variabler av typen Integer, kalt i, j og pctCompl.

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

2. Legg til et dobbeltløp.

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

    Next j
Next i

Legg til følgende kodelinjer (ved 3, 4 og 5) til løkken.

3. Bruk RandBetween-funksjonen til å importere et tilfeldig tall mellom 20 og 100.

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

4. Initialiser variabelen pctCompl. Den andre kodelinjen skriver verdien av variabelen pctCompl og noen 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 fullført.

5. Vi bruker ventemetoden i programobjektet til å simulere en lang makro.

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

6. For å gjenopprette tekstlinjen for standard statuslinje, sett StatusBar-egenskapen til False (utenfor loop).

Application.StatusBar = False

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

Excel VBA StatusBar Property Result

Merk: Du kan avbryte en makro når som helst ved å trykke på Esc eller Ctrl + Break. For en mer visuell tilnærming, se vårt Progress Indicator-program.

Les også: