tartalom
Valakinek tetszik, de nekem személy szerint csak 2-3 esetben van szükségem állapotsorra:
- szűrés után megjeleníti a kiválasztás után hátralévő értékek számát
- egy tartomány kiválasztásakor megjeleníti a kiválasztott cellák összegét, átlagát és számát
- nehéz fájlok esetén a képletek újraszámításának előrehaladását láthatja a könyvben.
Nem annyira egy olyan vonalra, amely szinte a képernyő teljes szélességét elfoglalja, és folyamatosan rajta lóg. Próbáljuk meg bővíteni ezt a szerény listát, és adjunk hozzá még néhány hasznos funkciót 🙂
Az állapotsor kezelésének általános alapelvei
Az állapotsor kezelése Visual Basic segítségével nagyon egyszerű. A szöveg megjelenítéséhez használhat egy egyszerű makrót:
Sub MyStatus() Application.StatusBar = "Привет!" Vége Sub
A futtatás után a következőket kapjuk:
Az állapotsor eredeti állapotának visszaállításához ugyanarra a rövid „anti-makróra” lesz szüksége:
Sub MyStatus_Off() Application.StatusBar = False End Sub
Az alapváltozatban, amint látja, minden nagyon egyszerű. Most próbáljuk továbbfejleszteni az ötletet…
A kiválasztott tartomány címe az állapotsorban
Az Excel ablakának bal felső sarkában a képletsorban mindig láthatja az aktuális cella címét. De ha egy teljes tartomány van kiválasztva, akkor sajnos ott nem fogjuk látni a kiválasztási címet - ugyanaz az egyetlen aktív cella jelenik meg:
A probléma megoldásához használhat egy egyszerű makrót, amely megjeleníti a kiválasztott terület címét az állapotsorban. Sőt, ennek a makrónak automatikusan el kell indulnia, bármely lapon a kijelölés módosításával – ehhez az eseménykezelőben helyezzük el SelectionChange könyvünket.
Nyissa meg a Visual Basic Editort a lap azonos nevű gombjával fejlesztő (Fejlesztő) vagy billentyűparancsokat Bal Alt+F11. Keresse meg könyvét a Projekt panel bal felső sarkában, és dupla kattintással nyissa meg a benne lévő modult Ezt a könyvet (Ez a munkafüzet):
A megnyíló ablakban másolja ki és illessze be a következő makrókódot:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Selection.Address(0, 0) End Sub
Most, ha bármelyik tartományt kiválasztja (beleértve egynél többet is!), a címe megjelenik az állapotsorban:
Ha meg szeretné akadályozni, hogy a Ctrl billentyűvel kiválasztott több tartomány címei összeolvadjanak, egy kis javítást végezhet – használja a Csere funkciót, hogy a vesszőt szóközzel vesszőre cserélje:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Replace(Selection.Address(0, 0), ",", ", ") End Sub
A kijelölt cellák száma az állapotsorban
Bármely tartomány kijelölése esetén alapértelmezés szerint a nem üres kijelölt cellák száma jelenik meg az állapotsor jobb oldalán. Néha tudnia kell a kiosztottak számát. Ez a feladat egy egyszerű makróval is elvégezhető a SelectionChange könyvesemény kezelésére, mint az előző példában. Szükséged lesz egy makróra, például:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Dim CellCount As Variant, rng As Range Minden egyes rng In Selection.Areas 'Iterálás az összes kijelölésen keresztül RowsCount = rng.Rows.Count 'sorok száma rng.ColumnsCounts . Count 'oszlopok száma CellCount = CellCount + RowsCount * ColumnsCount 'összegyűjti a cellák teljes számát Következő 'megjelenik az állapotsorban Application.StatusBar = "Kiválasztva: " & CellCount & " cella" End Sub
Ez a makró végigfut az összes Ctrl-vel kiválasztott területen (ha több van), eltárolja a sorok és oszlopok számát az egyes területeken a RowsCount és ColumnsCount változókban, és felhalmozza a cellák számát a CellCount változóban, amely ezután megjelenik. az állapotsorban. Munka közben ez így fog kinézni:
Természetesen ezt és az előző makrókat kombinálhatja, hogy egyszerre jelenjen meg a kiválasztott tartomány címe és a cellák száma. Csak egy utolsó előtti sort kell módosítania erre:
Application.StatusBar = "Kiválasztva: " & Csere(Kiválasztás.Cím(0, 0), ",", ", ") & " - összesen " & CellCount & " cella"
Akkor nagyon szép lesz a kép:
Nos, azt hiszem, érted az ötletet. Javasoljon megjegyzésekben – mit lenne még hasznos megjeleníteni az állapotsorban?
- Mik azok a makrók, hogyan működnek, hogyan kell használni és létrehozni őket
- Kényelmes koordinátaválasztás Excel lapon
- Hogyan lehet az összetett képleteket vizuálisabbá tenni