/ / Właściwość StatusBar Excel VBA

Właściwość StatusBar Excel VBA

The Właściwość StatusBar obiektu Application w Excel VBA może być użyty do wskazania postępu długiego makra. W ten sposób możesz poinformować użytkownika, że ​​makro nadal działa.

Sytuacja:

Makro, które zamierzamy utworzyć, wypełnia zakres ("A1: E20") liczbami losowymi.

Excel VBA Właściwość StatusBar Przykład

Dodaj następujące linie kodu do przycisku polecenia:

1. Najpierw deklarujemy trzy zmienne typu Integer, o nazwach i, j i pctCompl.

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

2. Dodaj podwójną pętlę.

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

    Next j
Next i

Dodaj następujące linie kodu (w 3, 4 i 5) do pętli.

3. Użyj funkcji RandBetween, aby zaimportować liczbę losową z zakresu od 20 do 100.

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

4. Zainicjuj zmienną pctCompl. Drugi wiersz kodu zapisuje wartość zmiennej pctCompl i tekst opisowy na pasku stanu.

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

Przykład: dla i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11% zostało zakończone.

5. Używamy metody Wait obiektu Application do symulacji długiego makra.

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

6. Aby przywrócić domyślny tekst paska stanu, ustaw właściwość StatusBar na False (poza pętlą).

Application.StatusBar = False

Wynik po kliknięciu przycisku polecenia na arkuszu:

Excel VBA StatusBar Właściwość Wynik

Uwaga: Możesz przerwać makro w dowolnym momencie, naciskając Esc lub Ctrl + Break. Aby uzyskać bardziej wizualne podejście, zobacz nasz program Progress Indicator.

Przeczytaj również: