Маълумоти муфид дар сатри вазъият

Ба касе маъқул аст, аммо шахсан ба ман танҳо дар 2-3 ҳолат сатри статус лозим аст:

  • пас аз филтр, он шумораи арзишҳои пас аз интихоб боқимондаро нишон медиҳад
  • вақте ки диапазон интихоб карда мешавад, он ҷамъ, миёна ва шумораи чашмакҳои интихобшударо нишон медиҳад
  • дар сурати файлҳои вазнин, шумо метавонед пешрафти аз нав ҳисоб кардани формулаҳоро дар китоб бинед.

На он қадар зиёд барои хати, ки қариб тамоми паҳнои экран мегирад ва ҳамеша дар он овезон. Биёед кӯшиш кунем, ки ин рӯйхати хоксорро васеъ кунем ва ба он якчанд хусусиятҳои муфид илова кунем 🙂

Принсипҳои умумии идоракунии сатри вазъият

Идоракунии сатри вазъият бо Visual Basic хеле осон аст. Барои намоиш додани матни худ дар он шумо метавонед макроси оддиро истифода баред:

Sub MyStatus() Application.StatusBar = "Привет!" Охирин зер  

Пас аз он, мо ба даст меорем:

Маълумоти муфид дар сатри вазъият

Барои барқарор кардани ҳолати аслии сатри ҳолат, ба шумо ҳамон як "анти-макрос"-и кӯтоҳ лозим аст:

Sub MyStatus_Off() Application.StatusBar = End False Sub  

Дар версияи асосӣ, чунон ки шумо мебинед, ҳама чиз хеле содда аст. Акнун биёед кӯшиш кунем, ки идеяро инкишоф диҳем ...

Суроғаи диапазони интихобшуда дар сатри вазъият

 Дар кунҷи чапи болоии равзанаи Excel дар сатри формула шумо ҳамеша метавонед суроғаи чашмаки ҷорӣро бинед. Аммо агар тамоми диапазон интихоб карда шуда бошад, пас, мутаассифона, мо суроғаи интихобро дар он ҷо намебинем - ҳамон як ячейкаи фаъол нишон дода мешавад:

Маълумоти муфид дар сатри вазъият

Барои ҳалли ин мушкилот шумо метавонед макроси оддиеро истифода баред, ки суроғаи минтақаи интихобшударо дар сатри вазъият нишон медиҳад. Ғайр аз он, ин макрос бояд ба таври худкор бо тағир додани интихоб дар ҳама гуна варақ оғоз карда шавад - барои ин мо онро дар коркардкунандаи ҳодиса ҷойгир мекунем. Интихоби Тағйир китоби мо.

Таҳрири Visual Basic -ро бо истифода аз тугмаи ҳамон ном дар ҷадвал кушоед таҳиякунанда (Таҳиягар) ё миёнабурҳои клавиатура Чап Alt+F11. Китоби худро дар кунҷи чапи болоии панели Лоиҳа пайдо кунед ва модулро дар он бо клики дукарата кушоед Ин китоб (Ин китоби корӣ):

Дар равзанаи кушодашуда рамзи макроси зеринро нусхабардорӣ ва часбонед:

Private Sub Workbook_SheetSelectionChange(ByVal Sh ҳамчун объект, ByVal Ҳадаф ҳамчун диапазон) Application.StatusBar = "Виделено: " & Selection.Address(0, 0) End Sub  

Ҳоло, вақте ки ягон диапазон интихоб карда мешавад (аз он ҷумла зиёда аз як!), суроғаи он дар сатри вазъият нишон дода мешавад:

Маълумоти муфид дар сатри вазъият

Барои пешгирии якҷояшавии суроғаҳои якчанд диапазонҳои бо Ctrl интихобшуда, шумо метавонед як такмилдиҳии хурд илова кунед - функсияи Ивазро барои иваз кардани вергул бо вергул бо фосила истифода баред:

Private Sub Workbook_SheetSelectionChange(ByVal Sh ҳамчун объект, ByVal Ҳадаф ҳамчун диапазон) Application.StatusBar = "Виделено: " & Иваз кардан(Selection.Address(0, 0), ",", ", ") Зер охир  

Шумораи чашмакҳои интихобшуда дар сатри ҳолат

Вақте ки ягон диапазон интихоб карда мешавад, бо нобаёнӣ шумораи чашмакҳои интихобшудаи холӣ дар тарафи рости сатри ҳолат нишон дода мешавад. Баъзан шумо бояд шумораи ҷудошударо донед. Ин вазифаро инчунин бо макроси оддӣ барои коркарди рӯйдоди китоби SelectionChange, мисли мисоли қаблӣ иҷро кардан мумкин аст. Ба шумо макрос лозим мешавад, ба монанди:

Private Sub Workbook_SheetSelectionChange(ByVal Sh ҳамчун объект, ByVal Ҳадаф ҳамчун диапазон) Торик CellCount Ҳамчун Вариант, rng Ҳамчун Диапазон Барои Ҳар як rng Дар Selection.Area 'Тавассути тамоми интихобҳоро такрор кунед RowsCount = rng.Rows.Count 'шумораи сатрҳо ColumnsCountlumns =r . Ҳисоб кардани 'миқдори сутунҳо CellCount = CellCount + RowsCount * ColumnsCount 'шумораи умумии чашмакҳоро ҷамъ кунед Оянда 'дар сатри вазъият намоиш диҳед Application.StatusBar = "Интихобшуда: " & CellCount & " ячейкаҳо" End Sub  

Ин макрос аз тамоми минтақаҳои интихобшудаи Ctrl давр мезанад (агар зиёда аз як ҷой бошад), шумораи сатрҳо ва сутунҳоро дар ҳар як минтақа дар тағирёбандаҳои RowsCount ва ColumnsCount нигоҳ медорад ва шумораи чашмакҳоро дар тағирёбандаи CellCount ҷамъ мекунад, ки баъдан намоиш дода мешавад. дар сатри вазъият. Дар кор он чунин хоҳад буд:

Маълумоти муфид дар сатри вазъият

Албатта, шумо метавонед ин ва макросҳои қаблиро якҷоя кунед, то ҳам суроғаи диапазони интихобшуда ва ҳам шумораи чашмакҳоро дар як вақт намоиш диҳед. Ба шумо лозим аст, ки танҳо як сатри пеш аз охирро иваз кунед:

Application.StatusBar = "Интихобшуда: " & Иваз кардан(Selection.Address(0, 0), ",", ", ") & " - умумии " & CellCount & " ячейкаҳо "  

Он гоҳ тасвир хеле аҷиб хоҳад буд:

Маълумоти муфид дар сатри вазъият

Хуб, ман фикр мекунам, ки шумо идеяро фаҳмед. Дар шарҳҳо пешниҳод кунед - дар сатри ҳолат боз чӣ муфид хоҳад буд?

  • Макросҳо чист, онҳо чӣ гуна кор мекунанд, чӣ гуна истифода бурдан ва сохтани онҳо
  • Интихоби мувофиқи координатҳо дар варақи Excel
  • Чӣ тавр формулаҳои мураккабро визуалӣ кардан мумкин аст

Дин ва мазҳаб