змест
Камусьці падабаецца, але мне асабіста радок стану патрэбна толькі ў 2-3 выпадках:
- пасля фільтрацыі адлюстроўвае колькасць значэнняў, якія засталіся пасля выбару
- калі выбраны дыяпазон, ён адлюстроўвае суму, сярэдняе значэнне і колькасць выбраных вочак
- у выпадку цяжкіх файлаў вы можаце ўбачыць прагрэс у пераразліку формул у кнізе.
Не так шмат для лініі, якая займае амаль усю шырыню экрана і ўвесь час вісіць на ім. Паспрабуем пашырыць гэты сціплы спіс і дадаць у яго яшчэ некалькі карысных функцый 🙂
Агульныя прынцыпы кіравання радком стану
Кіраваць радком стану з дапамогай Visual Basic вельмі проста. Каб адлюстраваць свой тэкст у ім, вы можаце выкарыстоўваць просты макрас:
Sub MyStatus() Application.StatusBar = "Прывет!" Канец пад
Пасля запуску мы атрымліваем:
Для аднаўлення зыходнага стану радка стану спатрэбіцца той жа кароткі «антимакро»:
Sub MyStatus_Off() Application.StatusBar = False End Sub
У базавай версіі, як бачыце, усё вельмі проста. Зараз паспрабуем развіць ідэю…
Адрас абранага дыяпазону ў радку стану
У левым верхнім куце акна Excel у радку формул вы заўсёды можаце ўбачыць адрас бягучай ячэйкі. Але калі выдзелены цэлы дыяпазон, то, на жаль, мы не ўбачым там адрас выбару - адлюстроўваецца тая ж адна-адзіная актыўная ячэйка:
Каб вырашыць гэтую праблему, вы можаце выкарыстоўваць просты макрас, які будзе адлюстроўваць адрас абранай вобласці ў радку стану. Больш за тое, гэты макрас павінен запускацца аўтаматычна, пры любой змене вылучэння на любым аркушы - для гэтага мы змесцім яго ў апрацоўшчык падзеі SelectionChange наша кніга.
Адкрыйце рэдактар Visual Basic з дапамогай аднайменнай кнопкі на ўкладцы распрацоўшчык (Распрацоўшчык) або спалучэнне клавіш Левы Alt+F11. Знайдзіце сваю кнігу ў левым верхнім куце панэлі праекта і адкрыйце ў ёй модуль падвойным пстрычкай мышы гэтая кніга (Гэты сшытак):
У якое адкрылася акне скапіруйце і ўстаўце наступны код макраса:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выдзелена: " & Selection.Address(0, 0) End Sub
Цяпер, калі выбраны любы дыяпазон (у тым ліку больш за адзін!), яго адрас будзе адлюстроўвацца ў радку стану:
Каб прадухіліць аб'яднанне адрасоў некалькіх дыяпазонаў, выбраных з дапамогай Ctrl, вы можаце дадаць невялікае паляпшэнне - выкарыстоўвайце функцыю Replace, каб замяніць коску на коску з прабелам:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выдзелена: " & Replace(Selection.Address(0, 0), ",", ", ") End Sub
Колькасць вылучаных ячэек у радку стану
Калі выбраны любы дыяпазон, па змаўчанні ў правай частцы радка стану адлюстроўваецца колькасць непустых вылучаных вочак. Часам трэба ведаць колькасць выдзеленых. Гэтую задачу таксама можна выканаць з дапамогай простага макраса для апрацоўкі падзеі кнігі SelectionChange, як у папярэднім прыкладзе. Вам спатрэбіцца такі макрас:
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 'Прайсці праз усе выбары RowsCount = rng.Rows.Count 'колькасць радкоў ColumnsCount = rng.Columns . Count 'колькасць слупкоў CellCount = CellCount + RowsCount * ColumnsCount 'назапасіць агульную колькасць вочак Next 'адлюстраваць у радку стану Application.StatusBar = "Выбрана: " & CellCount & " клеткі" End Sub
Гэты макрас перабірае ўсе вобласці, выбраныя Ctrl (калі іх больш за адну), захоўвае колькасць радкоў і слупкоў у кожнай вобласці ў зменных RowsCount і ColumnsCount і назапашвае колькасць ячэек у зменнай CellCount, якая затым адлюстроўваецца у радку стану. На працы гэта будзе выглядаць так:
Вядома, вы можаце аб'яднаць гэты і папярэдні макрасы, каб адначасова адлюстраваць і адрас абранага дыяпазону, і колькасць вочак. Вам трэба толькі змяніць адзін перадапошні радок на:
Application.StatusBar = "Вылучана: " & Replace(Selection.Address(0, 0), ",", ", ") & " - total " & CellCount & " cell"
Тады карціна атрымаецца зусім цудоўная:
Што ж, думаю, вы зразумелі. Прапануйце ў каментарах – што яшчэ было б карысна адлюстраваць у радку стану?
- Што такое макрасы, як яны працуюць, як іх выкарыстоўваць і ствараць
- Зручны выбар каардынат на лісце Excel
- Як зрабіць складаныя формулы больш нагляднымі