Obsah
Niekto rád, ale ja osobne potrebujem stavový riadok iba v 2-3 prípadoch:
- po filtrovaní zobrazí počet zostávajúcich hodnôt po výbere
- keď je vybratý rozsah, zobrazí sa súčet, priemer a počet vybratých buniek
- v prípade ťažkých súborov je v knihe vidieť pokrok v prepočítavaní vzorcov.
Ani nie tak za linku, ktorá zaberá takmer celú šírku obrazovky a visí na nej neustále. Skúsme tento skromný zoznam rozšíriť a pridať k nemu zopár ďalších užitočných funkcií 🙂
Všeobecné zásady pre správu stavového riadku
Správa stavového riadku pomocou jazyka Visual Basic je veľmi jednoduchá. Na zobrazenie textu v ňom môžete použiť jednoduché makro:
Sub MyStatus() Application.StatusBar = "Привет!" End Sub
Po spustení dostaneme:
Ak chcete obnoviť pôvodný stav stavového riadku, budete potrebovať rovnaké krátke „anti-makro“:
Sub MyStatus_Off() Application.StatusBar = False End Sub
V základnej verzii, ako vidíte, je všetko veľmi jednoduché. Teraz skúsme rozvinúť myšlienku...
Adresa vybraného rozsahu v stavovom riadku
V ľavom hornom rohu okna programu Excel na riadku vzorcov môžete vždy vidieť adresu aktuálnej bunky. Ak je však vybratý celý rozsah, adresu výberu tam, žiaľ, neuvidíme – zobrazí sa rovnaká jedna aktívna bunka:
Na vyriešenie tohto problému môžete použiť jednoduché makro, ktoré v stavovom riadku zobrazí adresu vybranej oblasti. Okrem toho by sa toto makro malo spustiť automaticky pri akejkoľvek zmene výberu na ľubovoľnom hárku – na tento účel ho umiestnime do obsluhy udalosti SelectionChange naša kniha.
Otvorte Editor jazyka Visual Basic pomocou tlačidla s rovnakým názvom na karte vývojka (vývojár) alebo klávesové skratky Ľavý Alt+F11. Nájdite svoju knihu v ľavom hornom rohu panela Projekt a dvojitým kliknutím otvorte modul v nej Táto kniha (Tento pracovný zošit):
V okne, ktoré sa otvorí, skopírujte a prilepte nasledujúci kód makra:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Selection.Address(0, 0) End Sub
Teraz, keď je vybratý akýkoľvek rozsah (vrátane viacerých!), jeho adresa sa zobrazí v stavovom riadku:
Ak chcete zabrániť zlúčeniu adries viacerých rozsahov vybratých pomocou Ctrl, môžete pridať malé vylepšenie – pomocou funkcie Nahradiť čiarku nahraďte čiarkou s medzerou:
Private Sub Workbook_SelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Replace(Selection.Address(0, 0), ",", ", ") End Sub
Počet vybratých buniek v stavovom riadku
Keď je vybratý ľubovoľný rozsah, počet neprázdnych vybratých buniek sa štandardne zobrazuje na pravej strane stavového riadka. Niekedy potrebujete vedieť počet pridelených. Túto úlohu je možné vykonať aj pomocou jednoduchého makra na spracovanie udalosti knihy SelectionChange, ako v predchádzajúcom príklade. Budete potrebovať makro ako:
Private Sub Workbook_SelectionChange(ByVal Sh As Object, ByVal Target As Range) Dim CellCount as Variant, rng as range for each rng In Selection.Areas 'Iterácia cez všetky výbery RowsCount = rng.Rows.Count 'počet riadkov ColumnsColum = rng.Areas . Count 'počet stĺpcov CellCount = CellCount + RowsCount * ColumnsCount 'sčítať celkový počet buniek Ďalej 'zobraziť v stavovom riadku Application.StatusBar = "Selected: " & CellCount & " cells" End Sub
Toto makro prechádza všetkými oblasťami vybratými klávesom Ctrl (ak je ich viac), ukladá počet riadkov a stĺpcov v každej oblasti do premenných RowsCount a ColumnsCount a akumuluje počet buniek v premennej CellCount, ktorá sa potom zobrazí. v stavovom riadku. V práci to bude vyzerať takto:
Toto a predchádzajúce makrá môžete samozrejme skombinovať a súčasne zobraziť adresu zvoleného rozsahu aj počet buniek. Stačí zmeniť jeden predposledný riadok na:
Application.StatusBar = "Selected: " & Replace(Selection.Address(0, 0), ",", ", ") & " - total " & CellCount & " cells"
Potom bude obrázok celkom úžasný:
No, myslím, že chápete. Navrhnite v komentároch – čo by sa ešte hodilo zobraziť v stavovom riadku?
- Čo sú makrá, ako fungujú, ako ich používať a vytvárať
- Pohodlný výber súradníc na hárku programu Excel
- Ako urobiť zložité vzorce vizuálnejšími