Proprietate Excel VBA StatusBar - Macro Excel ușor

Cuprins

Proprietate StatusBar a obiectului Aplicație în Excel VBA poate fi folosit pentru a indica progresul unei macro-uri lungi. În acest fel, puteți informa utilizatorul că o macrocomandă rulează în continuare.

Situatie:

Macro-ul pe care îl vom crea umple Range ("A1: E20") cu numere aleatorii.

Adăugați următoarele linii de cod la butonul de comandă:

1. În primul rând, declarăm trei variabile de tip Integer, numite i, j și pctCompl.

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

2. Adăugați o buclă dublă.

Pentru i = 1 până la 20
Pentru j = 1 până la 5
Următorul j
Apoi eu

Adăugați următoarele linii de cod (la 3, 4 și 5) la buclă.

3. Utilizați funcția RandBetween pentru a importa un număr aleatoriu între 20 și 100.

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

4. Inițializați variabila pctCompl. A doua linie de cod scrie valoarea variabilei pctCompl și un text descriptiv în bara de stare.

pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Importul datelor …" & pctCompl & "% Finalizat"

Exemplu: Pentru i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11% a fost finalizat.

5. Folosim metoda Wait a obiectului Application pentru a simula o macro lungă.

Aplicație. Așteptați acum + TimeValue ("00:00:01")

6. Pentru a restabili textul implicit al barei de stare, setați proprietatea StatusBar la False (în afara buclei).

Application.StatusBar = Fals

Rezultatul când faceți clic pe butonul de comandă de pe foaie:

Notă: Puteți întrerupe o macro în orice moment apăsând Esc sau Ctrl + Break. Pentru o abordare mai vizuală, consultați programul nostru Indicator de progres.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave