Spis treści
Ktoś taki, ale osobiście potrzebuję paska stanu tylko w 2-3 przypadkach:
- po przefiltrowaniu wyświetla ilość wartości pozostałych po selekcji
- po wybraniu zakresu wyświetla sumę, średnią i liczbę wybranych komórek
- w przypadku ciężkich plików widać postęp w przeliczaniu formuł w księdze.
Niewiele jak na linię, która zajmuje prawie całą szerokość ekranu i cały czas na niej wisi. Spróbujmy rozszerzyć tę skromną listę i dodać do niej kilka przydatnych funkcji 🙂
Ogólne zasady zarządzania paskiem stanu
Zarządzanie paskiem stanu za pomocą Visual Basic jest bardzo łatwe. Aby wyświetlić w nim swój tekst, możesz użyć prostego makra:
Sub MyStatus() Application.StatusBar = "Zapisz!" Napis końcowy
Po jej uruchomieniu otrzymujemy:
Aby przywrócić pierwotny stan paska stanu, będziesz potrzebować tego samego krótkiego „anty-makro”:
Sub MyStatus_Off() Application.StatusBar = Fałszywy koniec Sub
W podstawowej wersji, jak widać, wszystko jest bardzo proste. Teraz spróbujmy rozwinąć pomysł…
Adres wybranego zakresu na pasku stanu
W lewym górnym rogu okna programu Excel na pasku formuły zawsze możesz zobaczyć adres bieżącej komórki. Ale jeśli zaznaczony jest cały zakres, to niestety nie zobaczymy tam adresu wyboru – wyświetla się ta sama jedna aktywna komórka:
Aby rozwiązać ten problem, możesz użyć prostego makra, które wyświetli adres wybranego obszaru na pasku stanu. Ponadto makro to powinno być uruchamiane automatycznie, przy każdej zmianie zaznaczenia na dowolnym arkuszu – w tym celu umieścimy je w obsłudze zdarzeń WybórZmiana nasza książka.
Otwórz Edytor Visual Basic za pomocą przycisku o tej samej nazwie na karcie wywoływacz (Deweloper) lub skróty klawiaturowe Lewy Alt+F11. Znajdź swoją książkę w lewym górnym rogu panelu Projekt i otwórz w niej moduł, klikając dwukrotnie Ta książka (Ten zeszyt):
W oknie, które zostanie otwarte, skopiuj i wklej następujący kod makra:
Private Sub Workbook_SheetSelectionChange(ByVal Sh jako obiekt, ByVal Target jako zakres) Application.StatusBar = "Выделено: " & Selection.Address(0, 0) End Sub
Teraz, gdy zostanie wybrany dowolny zakres (w tym więcej niż jeden!), jego adres zostanie wyświetlony na pasku stanu:
Aby adresy z kilku zakresów wybranych za pomocą klawisza Ctrl nie mogły się łączyć, możesz dodać niewielką poprawę – użyj funkcji Replace, aby zastąpić przecinek przecinkiem spacją:
Private Sub Workbook_SheetSelectionChange(ByVal Sh jako obiekt, ByVal Target jako zakres) Application.StatusBar = "Выделено: " & Replace(Selection.Address(0, 0), ",", ", ") End Sub
Liczba wybranych komórek na pasku stanu
Po wybraniu dowolnego zakresu liczba zaznaczonych komórek, które nie są puste, jest domyślnie wyświetlana po prawej stronie paska stanu. Czasami trzeba znać liczbę przydzielonych. To zadanie można również wykonać za pomocą prostego makra do obsługi zdarzenia książki SelectionChange, jak w poprzednim przykładzie. Potrzebne będzie makro takie jak:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Dim CellCount As Variant, rng As Range dla każdego rng In Selection.Areas 'Iterowanie przez wszystkie selekcje RowsCount = rng.Rows.Count 'liczba wierszy ColumnsCount = rng.Columns . Count 'liczba kolumn CellCount = CellCount + RowsCount * ColumnsCount 'zlicza całkowitą liczbę komórek Dalej 'wyświetlanie na pasku stanu Application.StatusBar = "Wybrane:" & CellCount i "komórki" End Sub
To makro przechodzi w pętlę przez wszystkie obszary zaznaczone klawiszem Ctrl (jeśli jest ich więcej niż jeden), przechowuje liczbę wierszy i kolumn w każdym obszarze w zmiennych RowsCount i ColumnsCount oraz akumuluje liczbę komórek w zmiennej CellCount, która jest następnie wyświetlana na pasku stanu. W pracy będzie to wyglądać tak:
Oczywiście możesz połączyć to i poprzednie makra, aby wyświetlić jednocześnie adres wybranego zakresu i liczbę komórek. Wystarczy zmienić tylko jedną przedostatnią linię na:
Application.StatusBar = "Wybrane: " & Replace(Selection.Address(0, 0), ",", ", ") & " - łącznie " & CellCount & " komórki"
Wtedy obraz będzie całkiem cudowny:
Cóż, myślę, że masz pomysł. Zaproponuj w komentarzach – co jeszcze przydałoby się wyświetlić na pasku statusu?
- Czym są makra, jak działają, jak ich używać i tworzyć
- Wygodny wybór współrzędnych na arkuszu Excel
- Jak sprawić, by złożone formuły były bardziej wizualne?