Hasznos információk az állapotsorban

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:

Hasznos információk az állapotsorban

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:

Hasznos információk az állapotsorban

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:

Hasznos információk 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:

Hasznos információk az állapotsorban

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:

Hasznos információk az állapotsorban

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

Hagy egy Válaszol