/ / Proprietății VBA StatusBar Excel

Excel Proprietăți VB StatusBar

În Bara de stare proprietate a obiectului aplicaţie în Excel VBA poate fi folosit pentru a indica progresele înregistrate de o macrocomandă de lungă durată.În acest fel, puteţi lăsa utilizatorul ştie că încă se execută o macrocomandă.

Situatie:

Macrocomanda vom crea umple Range("A1:E20") cu numere aleatoare.

Exemplu de StatusBar proprietatea Excel VBA

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

1.primul, declarăm următoarele trei variabile de tip Integer, numit i, j şi pctCompl.

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

2. Adauga o buclă dublă.

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

    Next j
Next i

Adăugaţi următoarele linii de cod (la 3, 4 şi 5) la bucla.

3. funcţia RandBetween pentru a importa un număr aleator între 20 şi 100.

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

4. iniţializa linia de cod a doua variabilă pctCompl.The scrie valoarea variabilei pctCompl şi un text descriptiv în bara de stare.

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

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

5. vom folosi metoda de aşteptare a obiectului aplicaţie pentru a simula o macrocomandă de lungă durată.

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

6. pentru a restaura implicit status bar text, setaţi proprietatea StatusBar false (în afara buclei).

Application.StatusBar = False

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

Excel VBA StatusBar proprietate rezultat

Notă: Vă poate întrerupe o macrocomandă în orice moment apăsând pe Esc sau Ctrl Break.Pentru o abordare mai vizuale, consultaţi Programul nostru de Indicator de progres.

De asemenea, citiți: