vsebina
Nekomu všeč, vendar osebno potrebujem statusno vrstico le v 2-3 primerih:
- po filtriranju prikaže število preostalih vrednosti po izboru
- ko je izbran obseg, prikaže vsoto, povprečje in število izbranih celic
- v primeru težkih datotek si lahko ogledate napredek pri preračunavanju formul v knjigi.
Ne toliko za črto, ki zavzame skoraj celotno širino zaslona in ves čas visi na njem. Poskusimo razširiti ta skromen seznam in mu dodati še nekaj uporabnih funkcij 🙂
Splošna načela za upravljanje statusne vrstice
Upravljanje statusne vrstice z Visual Basicom je zelo enostavno. Če želite v njem prikazati svoje besedilo, lahko uporabite preprost makro:
Sub MyStatus() Application.StatusBar = "Privet!" End Sub
Po zagonu dobimo:
Če želite obnoviti prvotno stanje vrstice stanja, boste potrebovali isti kratek "anti-makro":
Sub MyStatus_Off() Application.StatusBar = False End Sub
V osnovni različici je, kot vidite, vse zelo preprosto. Zdaj pa poskusimo razviti idejo ...
Naslov izbranega obsega v vrstici stanja
V zgornjem levem kotu Excelovega okna v vrstici s formulami lahko vedno vidite naslov trenutne celice. Če pa je izbran celoten obseg, na žalost tam ne bomo videli izbirnega naslova - prikazana je ista ena aktivna celica:
Za rešitev te težave lahko uporabite preprost makro, ki bo prikazal naslov izbranega območja v statusni vrstici. Poleg tega bi se moral ta makro samodejno zagnati s kakršno koli spremembo izbire na katerem koli listu – za to ga bomo postavili v obravnavo dogodkov IzbiraSpremeni naša knjiga.
Odprite urejevalnik Visual Basic z istoimenskim gumbom na zavihku razvijalec (Razvijalec) ali bližnjice na tipkovnici Levi Alt+F11. Poiščite svojo knjigo v zgornjem levem kotu plošče Projekt in odprite modul v njej z dvojnim klikom Ta knjiga (Ta delovni zvezek):
V oknu, ki se odpre, kopirajte in prilepite naslednjo kodo makra:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Izbrano: " & Selection.Address(0, 0) End Sub
Zdaj, ko je izbran kateri koli obseg (vključno z več kot enim!), bo njegov naslov prikazan v vrstici stanja:
Če želite preprečiti, da bi se naslovi več obsegov, izbranih s Ctrl, združili, lahko dodate majhno izboljšavo – uporabite funkcijo Zamenjaj, da vejico zamenjate z vejico s presledkom:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Izdelek: " & Replace(Selection.Address(0, 0), ",", ", ") End Sub
Število izbranih celic v vrstici stanja
Ko je izbran kateri koli obseg, je število nepraznih izbranih celic privzeto prikazano na desni strani vrstice stanja. Včasih morate vedeti število dodeljenih. To nalogo je mogoče opraviti tudi s preprostim makrom za obravnavo dogodka knjige SelectionChange, kot v prejšnjem primeru. Potrebovali boste makro, kot je:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Dim CellCount As Variant, rng As Range For Every rng In Selection.Areas 'Iteracija skozi vse izbire RowsCount = rng.Rows.Count 'število vrstic ColumnsCount = rng.Columns . Count 'število stolpcev CellCount = CellCount + RowsCount * ColumnsCount 'zbrati skupno število celic Next 'prikaz v vrstici stanja Application.StatusBar = "Izbrano: " & CellCount & "cells" End Sub
Ta makro kroži skozi vsa območja, izbrana s tipko Ctrl (če jih je več kot eno), shrani število vrstic in stolpcev v vsakem območju v spremenljivkah RowsCount in ColumnsCount ter zbere število celic v spremenljivki CellCount, ki se nato prikaže v statusni vrstici. V službi bo videti takole:
Seveda lahko kombinirate ta in prejšnje makre, da hkrati prikažete naslov izbranega obsega in število celic. Spremeniti morate samo eno predzadnjo vrstico v:
Application.StatusBar = "Izbrano: " & Zamenjaj (Selection.Address(0, 0), ",", ", ") & " - skupaj " & Število celic & " celice"
Potem bo slika čudovita:
No, mislim, da ste razumeli. Predlagajte v komentarjih – kaj bi bilo še koristno prikazati v vrstici stanja?
- Kaj so makri, kako delujejo, kako jih uporabljati in ustvarjati
- Priročna izbira koordinat na Excelovem listu
- Kako narediti zapletene formule bolj vizualne