Excel VBA StatusBar-eigenschap - Eenvoudige Excel-macro's

Inhoudsopgave

De StatusBar-eigenschap van het toepassingsobject 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 er nog een macro actief is.

Situatie:

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

Voeg de volgende coderegels toe aan de opdrachtknop:

1. Eerst declareren we drie variabelen van het type Integer, genaamd i, j en pctCompl.

Dim i als geheel getal, j als geheel getal, pctCompl als geheel getal

2. Voeg een dubbele lus toe.

Voor i = 1 tot 20
Voor j = 1 tot 5
volgende j
volgende 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.

Cellen(i, j).Waarde = WerkbladFunctie.RandBetween(20, 100)

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

pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Gegevens importeren… " & pctCompl & "% voltooid"

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

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

Toepassing.Wacht nu + TimeValue ("00:00:01")

6. Als u de standaardtekst op de statusbalk wilt herstellen, stelt u de eigenschap StatusBar in op False (buiten de lus).

Application.StatusBar = False

Resultaat wanneer u op de opdrachtknop op het werkblad klikt:

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.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave