/ / Excel VBA StatusBar-eigenschap

Excel VBA StatusBar-eigenschap

De StatusBar-eigenschap van het Application-object in Excel VBA kan worden gebruikt om de voortgang van een lange macro aan te geven. Op deze manier kunt u de gebruiker laten weten dat een macro nog steeds actief is.

Situatie:

De macro die we gaan maken vult Bereik ("A1: E20") met willekeurige getallen.

Excel VBA StatusBar Eigenschap Voorbeeld

Voeg de volgende coderegels toe aan de opdrachtknop:

1. Eerst verklaren we drie variabelen van het type Integer, met de namen i, j en pctCompl.

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

2. Voeg een dubbele lus toe.

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

    Next j
Next i

Voeg de volgende coderegels (bij 3, 4 en 5) toe aan de lus.

3. Gebruik de functie RandBetween om een ​​willekeurig getal tussen 20 en 100 te importeren.

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

4. Initialiseer de variabele pctCompl. De tweede coderegel schrijft de waarde van de variabele pctCompl en een aantal beschrijvende tekst in de statusbalk.

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

Voorbeeld: voor i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11% is voltooid.

5. We gebruiken de methode Wait van het object Application om een ​​lange macro te simuleren.

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

6. Als u de standaardstatus van de statusbalk wilt herstellen, stelt u de StatusBar-eigenschap in op False (buiten de loop).

Application.StatusBar = False

Resultaat wanneer u op de opdrachtknop op het blad klikt:

Excel VBA StatusBar-eigenschapresultaat

Opmerking: u kunt een macro op elk moment onderbreken door op Esc of Ctrl + Break te drukken. Voor een meer visuele benadering, zie ons Progress Indicator-programma.

Lees ook: