Naudinga informacija būsenos juostoje

Kažkam patinka, bet man asmeniškai būsenos juostos reikia tik 2–3 atvejais:

  • po filtravimo rodomas reikšmių, likusių po pasirinkimo, skaičius
  • kai pasirenkamas diapazonas, rodoma pasirinktų langelių suma, vidurkis ir skaičius
  • sunkių failų atveju galite pamatyti knygoje perskaičiuojant formules.

Ne tiek daug linijos, kuri užima beveik visą ekrano plotį ir nuolat ant jos kabo. Pabandykime išplėsti šį kuklų sąrašą ir įtraukti į jį dar keletą naudingų funkcijų 🙂

Bendrieji būsenos juostos valdymo principai

Būsenos juostą tvarkyti naudojant „Visual Basic“ labai paprasta. Norėdami jame rodyti savo tekstą, galite naudoti paprastą makrokomandą:

Sub MyStatus() Application.StatusBar = "Pradėti!" Pabaigos sub  

Paleidę gauname:

Naudinga informacija būsenos juostoje

Norėdami atkurti pradinę būsenos juostos būseną, jums reikės tos pačios trumpos „anti-makro“:

Sub MyStatus_Off() Application.StatusBar = False End Sub  

Pagrindinėje versijoje, kaip matote, viskas labai paprasta. Dabar pabandykime išplėtoti idėją…

Pasirinkto diapazono adresas būsenos juostoje

 Viršutiniame kairiajame Excel lango kampe formulės juostoje visada galite matyti esamo langelio adresą. Bet jei pasirinktas visas diapazonas, tada, deja, pasirinkimo adreso ten nematysime – rodoma ta pati viena aktyvi ląstelė:

Naudinga informacija būsenos juostoje

Norėdami išspręsti šią problemą, galite naudoti paprastą makrokomandą, kuri būsenos juostoje parodys pasirinktos srities adresą. Be to, ši makrokomanda turėtų būti paleista automatiškai, bet kuriame lape pasikeitus pasirinkimui – tam mes įdėsime ją į įvykių tvarkyklę PasirinkimasKeisti mūsų knyga.

Atidarykite „Visual Basic“ rengyklę naudodami to paties pavadinimo mygtuką skirtuke ryškalas (Programuotojas) arba sparčiuosius klavišus Kairė Alt + F11. Viršutiniame kairiajame projekto skydelio kampe raskite savo knygą ir dukart spustelėdami atidarykite joje esantį modulį Ši knyga (Ši darbo knyga):

Atsidariusiame lange nukopijuokite ir įklijuokite šį makrokomandos kodą:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Selection.Address(0, 0) End Sub  

Dabar, kai pasirenkamas bet kuris diapazonas (įskaitant daugiau nei vieną!), jo adresas bus rodomas būsenos juostoje:

Naudinga informacija būsenos juostoje

Norėdami, kad kelių diapazonų, pasirinktų naudojant Ctrl, adresai nesusijungtų, galite pridėti nedidelį patobulinimą – naudodami funkciją Pakeisti kablelį pakeiskite kableliu su tarpu:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Replace(Selection.Address(0, 0), ",", ", ") Pabaigos sub.  

Pasirinktų langelių skaičius būsenos juostoje

Pasirinkus bet kurį diapazoną, pagal numatytuosius nustatymus dešinėje būsenos juostos pusėje rodomas netuščių pasirinktų langelių skaičius. Kartais reikia žinoti paskirtų skaičių. Šią užduotį taip pat galima atlikti naudojant paprastą makrokomandą, skirtą „SelectionChange“ knygos įvykiui valdyti, kaip ir ankstesniame pavyzdyje. Jums reikės tokios makrokomandos:

Private Sub Workbook_SheetSelectionChange(ByVal Sh kaip objektas, ByVal Target kaip diapazonas) Pritemdyti langelių skaičių kaip variantą, rng kaip diapazoną kiekvienam rng pasirinkime Selection.Areas 'Pakartokite visus pasirinkimus Eilučių skaičius = rng.Rows.Count 'eilučių skaičius rng.ColumnsCounts . Skaičiuoti 'stulpelių skaičius CellCount = CellCount + RowsCount * ColumnsCount 'sukaupia bendrą langelių skaičių Kitas 'rodomas būsenos juostoje Application.StatusBar = "Pasirinkta: " & CellCount & " cell" Pabaiga  

Ši makrokomanda pereina visas Ctrl pasirinktas sritis (jei yra daugiau nei viena), išsaugo eilučių ir stulpelių skaičių kiekvienoje srityje RowsCount ir ColumnsCount kintamuosiuose ir kaupia ląstelių skaičių CellCount kintamajame, kuris tada rodomas. būsenos juostoje. Darbe tai atrodys taip:

Naudinga informacija būsenos juostoje

Žinoma, galite derinti šią ir ankstesnes makrokomandas, kad vienu metu būtų rodomas ir pasirinkto diapazono adresas, ir langelių skaičius. Jums tereikia pakeisti vieną priešpaskutinę eilutę į:

Application.StatusBar = "Pasirinkta: " & Pakeisti(Pasirinkimas. Adresas(0, 0), ",", ", ") & " - bendras " & CellCount & " langeliai"  

Tada vaizdas bus labai nuostabus:

Naudinga informacija būsenos juostoje

Na, manau, supratai mintį. Pasiūlykite komentaruose – ką dar būtų naudinga parodyti būsenos juostoje?

  • Kas yra makrokomandos, kaip jos veikia, kaip jas naudoti ir kurti
  • Patogus koordinačių pasirinkimas Excel lape
  • Kaip sudėtingas formules padaryti vizualesnes

Palikti atsakymą