Jak wyświetlić wiadomość na pasku stanu programu Excel za pomocą VBA?

Anonim

Pasek stanu w programie Excel może być używany jako monitor kodu. Gdy twój kod VBA jest długi i wykonujesz kilka zadań za pomocą VBA, często wyłączasz aktualizację ekranu, aby nie widzieć migotania ekranu. Ale dzięki temu nie wiesz, co się dzieje w Twoim kodzie.

Jeśli nie wiesz, gdzie jest pasek stanu w programie Excel, oto on:

Możesz użyć paska stanu programu Excel, aby uzyskać informacje z programu Excel bez zakłócania wykonywania kodu. Możesz wyświetlić etapy swojego Marco na pasku stanu lub użyć go jako paska postępu.

Kod VBA do wyświetlania komunikatów na pasku stanu programu Excel

Application.StatusBar = "Wiadomość"

StatusBar to właściwość obiektu Application, która jako dane wejściowe przyjmuje tekst.

W tym przykładzie pokazuję tylko, która funkcja jest uruchomiona…

Sub DisplayMessageOnStatusBar() Application.ScreenUpdating = False Application.StatusBar = "Wywołanie funkcji numer jeden" ' wywołanie funkcji_1 Application.Wait (Teraz + TimeValue("00:00:2")) Application.StatusBar = "Wywołanie drugiej funkcji" 'Wywołaj funkcję_2 Aplikacja.Czekaj (Teraz + TimeValue("00:00:2")) Application.StatusBar = "Wywołanie funkcji Trzy" 'Wywołaj funkcję_3 Application.Wait (Now + TimeValue("00:00:2")) Application.StatusBar = "" Application.ScreenUpdating = True End Sub 

W tym przykładzie aktualizacja ekranu jest na początku ustawiona jako Fałsz.

Teraz przed wywołaniem function_1 wyświetlam komunikat, który wywołuje funkcję jeden.

Application.Wait (Now + TimeValue("00:00:2")) ten wiersz kodu służy tylko do sfałszowania długiego wywołania funkcji, dzięki czemu mam 2 sekundy, aby zobaczyć to na pasku stanu.

Zrobiłem to przed wszystkimi wywołaniami funkcji i na koniec ustawiłem pasek stanu na pusty („”).

Komunikaty na pasku stanu są bardzo przydatne do wyświetlania komunikatów podczas pracy z długim kodem. Gdy kod przechodzi przez wiele etapów lub uruchamia długą pętlę, możesz pokazać to na pasku stanu, aby użytkownik wiedział, że kod jest uruchomiony. W przeciwnym razie użytkownik może pomyśleć, że system się zawiesił lub coś takiego.

Teraz możesz inteligentnie uzyskiwać informacje na pasku stanu za pomocą VBA programu Excel 2016, 2013, 2010 i 2007 za pomocą tego jednego wiersza.

STARY POST

Niektóre makra / kody vba zajmują dużo czasu, aby uruchomić lub wykonać wymagane działania. Jeśli wyłączyłeś aktualizowanie ekranu za pomocą linii Application.ScreenUpdating = Fałsz na początku kodu, to jeśli jakikolwiek użytkownik uruchomi kod, nie będzie wiedział, co się dzieje i pomyśli, że system komputerowy nie odpowiada. Możesz poprosić, aby kod wyświetlał komunikat statusu na pasku statusu, aby użytkownik był informowany o aktualnym statusie kodu.

Oto prosty kod, który wyświetla okno komunikatu pokazujące wartości w kolumnie A, zaczynając od wiersza 2 do ostatniego. Na pasku stanu pojawi się komunikat „Makro działa”, gdy kod jest uruchomiony, a po zakończeniu kodu pojawi się „Gotowy”, który jest jednym z domyślnych komunikatów programu Excel.

Option Explicit Sub macro1() Dim i As Long, lrow As Long Application.ScreenUpdating = False Application.DisplayAlerts = False Application.DisplayStatusBar = True With Worksheets(„Sheet1”) lrow = .Range(„A” & .Rows.Count) .End(xlUp).Row For i = 2 do lrow Application.StatusBar = „Makro uruchomione” Msgbox .Range(„A” &i).Value Next i kończę Application.StatusBar = „” Application.ScreenUpdating = True Application.DisplayAlerts = Prawdziwy koniec Sub 

Aby skopiować powyższy kod do swojego pliku,

  • Naciśnij Alt + F11 na klawiaturze.
  • Po lewej stronie zobaczysz obiekty Microsoft Excel.
  • Kliknij prawym przyciskiem myszy i wybierz Wstaw.
  • Następnie kliknij Moduł.
  • Skopiuj kod do okna kodu po prawej stronie.

Możesz zobaczyć kod zamieszczony w module poniżej -

Teraz zrozumiemy, co robi każda linia kodu -

Więc najpierw ustawiamy DISPLAYSTATUSBAR na true, a następnie ustawiamy komunikat dla paska stanu. Kiedy już użyjemy Application.StatusBar = „” na końcu kodu powróci do domyślnego komunikatu programu Excel, który jest GOTOWY.

Oto zdjęcie paska stanu podczas działania makra.

Po zakończeniu makra pasek stanu będzie wyglądał następująco:

Podobnie można zaktualizować pasek stanu w różnych częściach kodu, aby użytkownik wiedział, co się dzieje podczas działania makra. Czasami może istnieć jedno lub więcej makr, które obejmują wiele procesów, a ten pasek stanu będzie przydatny, aby wiedzieć, w którym procesie osiągnęło makro.

Jeśli podobały Ci się nasze blogi, podziel się nimi ze znajomymi na Facebooku. A także możesz śledzić nas na Twitterze i Facebooku.
Chcielibyśmy usłyszeć od Ciebie, daj nam znać, jak możemy ulepszyć, uzupełnić lub unowocześnić naszą pracę i uczynić ją lepszą dla Ciebie. Napisz do nas na stronie e-mail

Popularne artykuły:

50 skrótów Excela, które zwiększą Twoją produktywność

Jak korzystać z funkcji WYSZUKAJ.PIONOWO w programie Excel

Jak korzystać z funkcji LICZ.JEŻELI w programie Excel

Jak korzystać z funkcji SUMA.JEŻELI w programie Excel