Корисни информации во лентата за статус

Некој како, но мене лично ми треба статусна лента само во 2-3 случаи:

  • по филтрирањето, го прикажува бројот на преостанатите вредности по изборот
  • кога е избран опсег, тој ги прикажува збирот, просекот и бројот на избраните ќелии
  • во случај на тешки датотеки, можете да го видите напредокот во повторното пресметување на формулите во книгата.

Не толку за линија која ја зафаќа речиси целата ширина на екранот и постојано виси на неа. Ајде да се обидеме да ја прошириме оваа скромна листа и да додадеме уште неколку корисни функции на неа 🙂

Општи принципи за управување со статусната лента

Управувањето со статусната лента со Visual Basic е многу лесно. За да го прикажете вашиот текст во него, можете да користите едноставно макро:

Под MyStatus() Application.StatusBar = "Привет!" Крај на под  

Откако ќе го извршиме, добиваме:

Корисни информации во лентата за статус

За да ја вратите првобитната состојба на статусната лента, ќе ви треба истото кратко „анти-макро“:

Под MyStatus_Off() Application.StatusBar = False End Sub  

Во основната верзија, како што можете да видите, сè е многу едноставно. Сега да се обидеме да ја развиеме идејата…

Адреса на избраниот опсег во статусната лента

 Во горниот лев агол на прозорецот Excel во лентата со формули, секогаш можете да ја видите адресата на тековната ќелија. Но, ако се избере цел опсег, тогаш, за жал, нема да ја видиме адресата за избор таму - се прикажува истата една активна ќелија:

Корисни информации во лентата за статус

За да го решите овој проблем, можете да користите едноставно макро кое ќе ја прикаже адресата на избраната област во лентата за статус. Покрај тоа, ова макро треба да се активира автоматски, со каква било промена во изборот на кој било лист - за ова ќе го поставиме во управувачот за настани Избор Промена нашата книга.

Отворете го уредувачот на Visual Basic користејќи го истото копче на јазичето инвеститорот (програмер) или кратенки на тастатурата Лево Alt+F11. Најдете ја вашата книга во горниот лев агол на панелот Project и отворете го модулот во него со двоен клик Оваа книга (Оваа Работна тетратка):

Во прозорецот што се отвора, копирајте го и залепете го следниов макро код:

Приватна под Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Selection.Address(0, 0) Крај Под  

Сега, кога ќе се избере кој било опсег (вклучувајќи повеќе од еден!), неговата адреса ќе се прикаже во статусната лента:

Корисни информации во лентата за статус

За да спречите спојување на адресите на неколку опсези избрани со Ctrl, можете да додадете мало подобрување - користете ја функцијата Замени за да замените запирка со запирка со празно место:

Приватна под Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Replace(Selection.Address(0, 0), ",", ", ") Крај на под  

Број на избрани ќелии во статусната лента

Кога е избран кој било опсег, стандардно се прикажува бројот на непразни избрани ќелии на десната страна од статусната лента. Понекогаш треба да го знаете бројот на доделени. Оваа задача може да се постигне и со едноставно макро за справување со настанот на книгата SelectionChange, како во претходниот пример. Ќе ви треба макро како:

Приватна под работна книга_листSelectionChange(ByVal Sh како објект, ByVal Target as Range) Затемнето број на ќелии како варијанта, rng како опсег за секој рнг во селекцијата. Области 'Повторување низ сите селекции RowsCount = rng.Rows.Count 'број на редови rng.ColumnsCountns = . Брои 'број на колони CellCount = CellCount + RowsCount * ColumnsCount' се акумулира вкупниот број на ќелии Следно 'прикаже во статусната лента Application.StatusBar = "Избрано: " & CellCount & " ќелии" Крај под  

Ова макро се врти низ сите области избрани со Ctrl (ако има повеќе од една), го складира бројот на редови и колони во секоја област во променливите RowsCount и ColumnsCount и го акумулира бројот на ќелии во променливата CellCount, која потоа се прикажува во статусната лента. На работа ќе изгледа вака:

Корисни информации во лентата за статус

Се разбира, можете да ги комбинирате ова и претходните макроа за да ја прикажете адресата на избраниот опсег и бројот на ќелии во исто време. Треба да промените само една претпоследна линија во:

Application.StatusBar = "Избрано: " & Replace(Selection.Address(0, 0), ","", ", ") & " - вкупно " & CellCount & " ќелии"  

Тогаш сликата ќе биде прилично прекрасна:

Корисни информации во лентата за статус

Па, мислам дека ја разбираш идејата. Предложете во коментари - што друго би било корисно да се прикаже во лентата за статус?

  • Што се макроа, како функционираат, како да се користат и креираат
  • Практичен избор на координати на лист Excel
  • Како да ги направите сложените формули повизуелни

Оставете Одговор