Интихоби координатҳо

Шумо монитори калон доред, аммо мизҳое, ки шумо бо онҳо кор мекунед, боз ҳам калонтаранд. Ва, дар ҷустуҷӯи маълумоти зарурӣ ба экран нигариста, ҳамеша имкон дорад, ки чашмони худро ба сатри дигар "лағжонед" ва ба самти нодуруст нигоҳ кунед. Ман ҳатто одамонеро медонам, ки дар чунин мавридҳо ҳамеша ченаки чӯбиро дар назди худ нигоҳ медоранд, то онро ба хати монитор часпонанд. Технологияҳои оянда! 

Ва агар сатр ва сутуни ҷорӣ ҳангоми ҳаракати чашмаки фаъол дар варақ ҷудо карда шаванд? Як намуди интихоби координата ба ин монанд:

Аз ҳоким беҳтар аст, дуруст?

Якчанд роҳҳои гуногуни мураккабии татбиқи ин вуҷуд доранд. Ҳар як усул ҷиҳатҳои мусбат ва манфии худро дорад. Биёед онҳоро ба таври муфассал дида бароем.

Усули 1. Аён. Макрос, ки сатр ва сутуни ҷориро таъкид мекунад

Роҳи равшантарини ҳалли мушкилоти мо "дар пешонӣ" - ба мо макрос лозим аст, ки тағиротро дар варақ пайгирӣ кунад ва тамоми сатр ва сутунро барои ячейкаи ҷорӣ интихоб кунад. Инчунин матлуб аст, ки дар ҳолати зарурӣ ин функсия фаъол ва ғайрифаъол карда шавад, то чунин интихоби салиб ба мо барои ворид шудан, масалан, формулаҳо монеъ нашавад, балки танҳо вақте кор мекунад, ки мо рӯйхатро дар ҷустуҷӯи зарурӣ аз назар мегузаронем. маълумот. Ин моро ба се макрос меорад (интихоб, фаъол ва ғайрифаъол), ки бояд ба модули варақ илова карда шаванд.

Варақеро бо ҷадвал кушоед, ки дар он шумо чунин интихоби координатаро гирифтан мехоҳед. Дар ҷадвали варақ тугмаи ростро клик кунед ва фармонро аз менюи контекстӣ интихоб кунед Матни манбаъ (Рамзи манбаъ).Равзанаи муҳаррири Visual Basic бояд кушода шавад. Ин матни ин се макросро ба он нусхабардорӣ кунед:

Dim Coord_Selection ҳамчун мантиқӣ 'Тағйирёбандаи глобалӣ барои интихоби фаъол/хомӯш Sub Selection_On() 'Макро дар интихоб Coord_Selection = Интихоби True End Sub Selection_Off() 'Интихоби макрос хомӯш Coord_Selection = End False End 'Процедураи асосӣ, ки интихоби Private SubC Worksheet-ро иҷро мекунад TarhangeV As() Диапазон) Торикии WorkRange ҳамчун диапазон Агар Target.Cells.Count > 1 Пас аз зербаромад 'агар зиёда аз 1 ячейка интихоб шуда бошад, берун шавед Агар Coord_Selection = False Пас аз зербаромад 'агар интихоб хомӯш бошад, аз Application.ScreenUpdating = False Set WorkRange = Диапазон хориҷ шавед. (" A6:N300") 'адреси диапазони корӣ, ки дар дохили он интихоб намоён аст  

Суроғаи диапазони кории худро ба худ иваз кунед - маҳз дар доираи ин диапазон интихоби мо кор хоҳад кард. Пас муҳаррири Visual Basic-ро пӯшед ва ба Excel баргардед.

Миёнабури клавиатураро пахш кунед ALT+F8Барои кушодани тиреза бо рӯйхати макросҳои дастрас. макро Интихоб_Дар, тавре ки шумо тахмин карда метавонед, интихоби координатҳо дар варақи ҷорӣ ва макросро дар бар мегирад Интихоби_хомӯш — хомуш мекунад. Дар ҳамон тиреза, бо пахш кардани тугма параметрҳо (Интихобҳо) Шумо метавонед миёнабурҳои клавиатураро ба ин макросҳо барои оғози осон таъин кунед.

Афзалиятҳои ин усул:

  • осонии нисбии татбиқ
  • интихоб - амалиёт безарар аст ва мундариҷа ё формати ҳуҷайраҳои варақро ба ҳеҷ ваҷҳ тағир намедиҳад, ҳама чиз тавре ки ҳаст, боқӣ мемонад

Камбудиҳои ин усул:

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

Усули 2. Асли. CELL + Функсияи форматкунии шартӣ

Ин усул, гарчанде ки он як-ду нуқсон дорад, ба назари ман хеле шево менамояд. Барои амалӣ кардани чизе бо истифода аз асбобҳои дарунсохташудаи Excel, ҳадди аққал ворид шудан ба барномасозӣ дар VBA аэробатика аст 😉

Усул ба истифодаи функсияи CELL асос ёфтааст, ки метавонад дар бораи ячейка маълумоти зиёди гуногун - баландӣ, паҳнӣ, рақами сатр-сутунҳо, формати рақамҳо ва ғайра диҳад. Ин функсия ду аргумент дорад:

  • калимаи рамзӣ барои параметр, ба монанди "сутун" ё "сатр"
  • суроғаи чашмаке, ки мо мехоҳем арзиши ин параметрро муайян кунем

Ҳилла дар он аст, ки далели дуюм ихтиёрӣ аст. Агар он муайян нагардида бошад, ячейкаи фаъоли ҷорӣ гирифта мешавад.

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

  1. Мо ҷадвали худро интихоб мекунем, яъне он ячейкаҳоеро интихоб мекунем, ки дар оянда интихоби координат бояд дар онҳо намоиш дода шавад.
  2. Дар Excel 2003 ва калонтар, менюро кушоед Формат - Форматкунии шартӣ - Формула (Формат — Форматкунии шартӣ — Формула). Дар Excel 2007 ва навтар - ҷадвалро клик кунед хона (Хона)тугма Форматкунии шартӣ - Эҷоди қоида (Форматкунии шартӣ — Эҷоди қоида) ва навъи қоидаро интихоб кунед Барои муайян кардани формат кардани кадом чашмакҳо формуларо истифода баред (Формуларо истифода баред)
  3. Формулаи интихоби координатаи моро ворид кунед:

    =Ё(ЧАЧАКА("сатр")=САТР(A2),ЯЧАЧА("сутун")=СУТУН(A2))

    =Ё(ЧАЧАКА(«сатр»)=САТР(A1), ЯЧАЧА(«сутун»)=СУТУН(A1))

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

  4. Кнопкаро клик кунед Чорчӯба (Формат) ва ранги пурро таъин кунед.

Ҳама чиз қариб омода аст, аммо як нозуки вуҷуд дорад. Гап дар он аст, ки Excel тағир додани интихобро ҳамчун тағир додани маълумот дар варақ ҳисоб намекунад. Ва, дар натиҷа, он танҳо ҳангоми тағир додани мавқеъи ячейкаи фаъол дубора ҳисобкунии формулаҳо ва ранги форматкунии шартиро ба вуҷуд намеорад. Аз ин рӯ, биёед ба модули варақ макроси оддӣ илова кунем, ки ин корро мекунад. Дар ҷадвали варақ тугмаи ростро клик кунед ва фармонро аз менюи контекстӣ интихоб кунед Матни манбаъ (Рамзи манбаъ).Равзанаи муҳаррири Visual Basic бояд кушода шавад. Ин матни ин макроси оддиро ба он нусхабардорӣ кунед:

Варақаи кории хусусӣ_SelectionChange(Ҳадаф аз рӯи диапазон) ActiveCell.Ҳисоб кардани зерсохтор  

Ҳоло, вақте ки интихоб тағир меёбад, раванди аз нав ҳисоб кардани формула бо функсия оғоз мешавад ҲУЧайра дар формати шартӣ ва обхезӣ сатр ва сутуни ҷорӣ.

Афзалиятҳои ин усул:

  • Форматкунии шартӣ форматкунии ҷадвали фармоиширо вайрон намекунад
  • Ин варианти интихоб бо чашмакҳои якҷояшуда дуруст кор мекунад.
  • Хавфи нест кардани тамоми сатр ва сутуни маълумот бо клики тасодуфӣ нест Нобуд.
  • Макросҳо ҳадди аққал истифода мешаванд

Камбудиҳои ин усул:

  • Формула барои форматкунии шартӣ бояд дастӣ ворид карда шавад.
  • Ягон роҳи зуди фаъол/хомӯш кардани чунин форматкунӣ вуҷуд надорад - он ҳамеша то он даме, ки қоида нест карда шавад, фаъол аст.

Усули 3. Беҳтарин. Форматкунии шартӣ + Макросҳо

Миёнаи тиллоӣ. Мо механизми пайгирии интихобро дар варақ бо истифода аз макросҳои усули-1 истифода мебарем ва ба он бо истифода аз формати шартӣ аз усули-2 равшанкунии бехатар илова мекунем.

Варақеро бо ҷадвал кушоед, ки дар он шумо чунин интихоби координатаро гирифтан мехоҳед. Дар ҷадвали варақ тугмаи ростро клик кунед ва фармонро аз менюи контекстӣ интихоб кунед Матни манбаъ (Рамзи манбаъ).Равзанаи муҳаррири Visual Basic бояд кушода шавад. Ин матни ин се макросро ба он нусхабардорӣ кунед:

Dim Coord_Selection ҳамчун зерсохторҳои мантиқии Интихоб_On() Coord_Selection = Ҳақиқӣ End ЗерSelection_Off() Coord_Selection = Зери охири бардурӯғ Зер варақи кории_Интихоби Тағйир (Аз ҷониби Ҳадаф аз рӯи диапазон) Dim WorkRange ҳамчун Диапазон, CrossRange WorkRange ҳамчун Диапазон (Дипазон A7:300) 'адрес рабочего диапазона с таблице If Target.Count > 1 Пас аз зер берун шавед If Coord_Selection = False then WorkRange.FormatConditions.Delete Exit End End If Application.ScreenUpdating = False If Nearsect(Target, WorkRange) Ҳеҷ чиз нест, пас Set Intersect(Target, WorkRange) WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Нест кардани CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex =Format. .Нест кардани End If End Sub  

Фаромӯш накунед, ки суроғаи диапазони кории худро ба суроғаи ҷадвали худ иваз кунед. Муҳаррири Visual Basic-ро пӯшед ва ба Excel баргардед. Барои истифодаи макросҳои иловашуда, миёнабури клавиатураро пахш кунед ALT+F8  ва ҳамон тавре ки усули 1-ро иҷро кунед. 

Усули 4. Зебо. Иловаи FollowCellPointer

Excel MVP Ян Карел Питерсе аз Нидерланд дар вебсайти худ як иловаи ройгон медиҳад FollowCellPointer(36Kb), ки ҳамон мушкилотро тавассути кашидани хатҳои тирчаи графикӣ бо истифода аз макросҳо барои таъкид кардани сатр ва сутуни ҷорӣ ҳал мекунад:

 

Ҳалли хуб. На бе хатогӣ дар ҷойҳо, аммо бешубҳа ба маблағи як кӯшиш. Архивро зеркашӣ кунед, онро ба диск кушоед ва иловаро насб кунед:

  • дар Excel 2003 ва калонтар - тавассути меню Хидмат - Иловаҳо - Шарҳи (Асбобҳо - Иловаҳо - Мурури)
  • дар Excel 2007 ва баъдтар, тавассути Файл - Имконот - Иловаҳо - Гузаштан - Мурур (Файл - Имконоти Excel - Иловаҳо - Гузаштан ба - Мурури)

  • Макросҳо чист, дар Visual Basic дар куҷо рамзи макросро ворид кардан мумкин аст

 

Дин ва мазҳаб