Turinys
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:
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ė:
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:
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:
Ž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:
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