Координатты тандоо

Сизде чоң монитор бар, бирок сиз иштеген үстөлдөр андан да чоң. Жана керектүү маалыматты издөө үчүн экранды карап туруп, көзүңүздү кийинки сапка "тайып" жана туура эмес багытты кароого ар дайым мүмкүнчүлүк бар. Мен атүгүл мындай учурларда жыгач сызгычты монитордогу сызыкка бекитүү үчүн дайыма жанына кармап турган адамдарды билем. Келечектин технологиялары! 

Ал эми активдүү уяча барак боюнча жылганда учурдагы сап жана мамыча баса белгиленсе? Мындай координатты тандоонун бир түрү:

Башкаруучудан жакшы, туурабы?

Муну ишке ашыруу үчүн ар кандай татаалдыктын бир нече жолдору бар. Ар бир ыкма өзүнүн жакшы жана жаман жактары бар. Келгиле, аларды майда-чүйдөсүнө чейин карап көрөлү.

Метод 1. Ачык. Учурдагы сапты жана тилкени баса белгилеген макрос

Биздин көйгөйдү чечүүнүн эң айкын жолу "маңдайда" - бизге барактагы тандоонун өзгөрүшүнө көз салып, учурдагы уяча үчүн бардык сапты жана тилкени тандай турган макро керек. Ошондой эле, зарыл болсо, бул функцияны иштетип жана өчүрүп коюу керек, ошондуктан мындай кайчылаш формадагы тандоо, мисалы, формулаларды киргизүүгө тоскоолдук кылбайт, бирок биз керектүү нерселерди издөө үчүн тизмени карап чыкканда гана иштейт. маалымат. Бул бизди барак модулуна кошуу керек болгон үч макроско (тандоо, иштетүү жана өчүрүү) алып келет.

Мындай координатты тандоону каалаган таблица менен баракты ачыңыз. Барак барагын оң баскыч менен чыкылдатып, контексттик менюдан буйрукту тандаңыз Булак текст (Булак коду).Visual Basic Editor терезеси ачылышы керек. Бул үч макростун текстин ага көчүрүңүз:

Dim Coord_Selection As Boolean 'Тандоо үчүн глобалдык өзгөрмө күйгүзүү/өчүрүү Sub Selection_On() 'Тандоо боюнча макро Coord_Selection = True End Sub Selection_Off() 'Макро өчүрүү тандоо Coord_Selection = False End Sub 'Тандоону аткарган негизги процедура Private SubC Worksheet_SeleV Assey() Диапазон) Диапазон катары Dim WorkRange Эгерде Target.Cells.Count > 1 Андан кийин Чыгыңыз Sub 'эгерде 1ден ашык уяча тандалса, Чыгыңыз Эгерде Coord_Selection = False Анда Чыгыңыз Sub 'эгерде тандоо өчүк болсо, Чыгыңыз Application.ScreenUpdating = False Set WorkRange = Range (" A6:N300") 'тандоо көрүнгөн жумушчу диапазонун дареги  

Жумушчу диапазонун дарегин өзүңүзгө өзгөртүңүз – дал ушул диапазондо биздин тандообуз иштейт. Андан кийин Visual Basic редакторун жаап, Excelге кайтыңыз.

Баскычтоптун жарлыгын басыңыз ALT + F8жеткиликтүү макростордун тизмеси менен терезени ачуу. Макро Тандоо_Күйүк, сиз ойлогондой, учурдагы баракта координатты тандоону жана макрону камтыйт Тандоо_өчүк – өчүрөт. Ошол эле терезеде, баскычты чыкылдатуу менен параметрлер (Параметрлер) Оңой ишке киргизүү үчүн бул макросторго баскычтопторду дайындай аласыз.

Бул ыкманын артыкчылыктары:

  • ишке ашыруунун салыштырмалуу жөнөкөйлүгү
  • тандоо – операция зыянсыз жана барак уячаларынын мазмунун же форматын эч кандай өзгөртпөйт, баары мурункудай бойдон калат.

Бул ыкманын кемчиликтери:

  • баракта бириктирилген уячалар бар болсо, мындай тандоо туура иштебейт - биримдикке киргизилген бардык саптар жана мамычалар бир эле учурда тандалат
  • эгер сиз кокусунан Delete баскычын бассаңыз, анда активдүү уяча гана эмес, бүт тандалган аймак тазаланат, башкача айтканда, бүт саптан жана мамычага алынган маалыматтарды өчүрөт

Метод 2. Оригиналдуу. CELL + Шарттуу форматтоо функциясы

Бул ыкма, анын бир нече кемчиликтери бар болсо да, мага абдан жарашыктуу көрүнөт. Бир нерсеге орнотулган Excel куралдарын колдонуу менен ишке ашыруу үчүн, VBAда программалоого аз эле кирүү - бул пилотаж 😉

Метод CELL функциясын колдонууга негизделген, ал берилген уяча боюнча ар кандай маалыматтарды бере алат – бийиктиги, туурасы, сап-мамыча номери, сан форматы ж.б. Бул функциянын эки аргументи бар:

  • параметр үчүн код сөзү, мисалы, "мамыча" же "сап"
  • бул параметрдин маанисин аныктагыбыз келген уячанын дареги

Айла жок, экинчи аргумент милдеттүү эмес. Эгерде ал көрсөтүлбөсө, анда учурдагы активдүү уяча алынат.

Бул ыкманын экинчи компоненти шарттуу форматтоо болуп саналат. Бул өтө пайдалуу Excel функциясы, эгер алар белгиленген шарттарга жооп берсе, клеткаларды автоматтык түрдө форматтоого мүмкүндүк берет. Эгерде биз бул эки идеяны бир идеяга бириктирсек, шарттуу форматтоо аркылуу координаттарды тандоону ишке ашыруу үчүн төмөнкү алгоритмди алабыз:

  1. Биз таблицабызды, башкача айтканда, келечекте координаттарды тандоо көрсөтүлүшү керек болгон уячаларды тандайбыз.
  2. Excel 2003 жана андан улуураак версияларында менюну ачыңыз Формат – Шарттуу форматтоо – Формула (Формат — Шарттуу форматтоо — Формула). Excel 2007 жана андан кийинки версияларында - өтмөктү чыкылдатыңыз Home (Үй)баскычы Шарттуу форматтоо – Эреже түзүү (Шарттуу форматтоо — Эреже түзүү) жана эреженин түрүн тандаңыз Кайсы уячаларды форматтаарын аныктоо үчүн формуланы колдонуңуз (Формула колдонуу)
  3. Биздин координатты тандоо формуласын киргизиңиз:

    =ЖЕ(CELL("сап")=КАТЫР(A2),CELL("мамыча")=КАЛОНА(A2))

    =ЖЕ(CELL(«сап»)=КАТ(A1),CELL(«мамыча»)=КАЛОНА(A1))

    Бул формула таблицадагы ар бир уячанын мамыча номери учурдагы уячанын мамыча номери менен бирдей экендигин текшерет. Мамычалар менен. Ошентип, учурдагы уячага дал келген тилке номери же сап номери бар уячалар гана толтурулат. Бул биз жетишүүнү каалаган кайчылаш формадагы координаттарды тандоо.

  4. Баскычты чыкылдатыңыз Алкактык (Формат) жана толтуруу түсүн орнотуңуз.

Баары дээрлик даяр, бирок бир нюанс бар. Чындыгында, Excel тандоонун өзгөрүшүн барактагы маалыматтардын өзгөрүшү катары эсептебейт. Жана, натыйжада, ал активдүү уячанын абалы өзгөргөндө гана формулаларды кайра эсептөөгө жана шарттуу форматтоону кайра боёого түрткү бербейт. Ошондуктан, келгиле, муну жасай турган барак модулуна жөнөкөй макросту кошолу. Барак барагын оң баскыч менен чыкылдатып, контексттик менюдан буйрукту тандаңыз Булак текст (Булак коду).Visual Basic Editor терезеси ачылышы керек. Бул жөнөкөй макростун текстин ага көчүрүңүз:

Private Sub Worksheet_SelectionChange(ByVal максаттуу диапазон катары) ActiveCell.Calculate End Sub  

Эми тандоо өзгөргөндө, функция менен формуланы кайра эсептөө процесси башталат CELL шарттуу форматтоодо жана учурдагы сапты жана тилкени толтуруңуз.

Бул ыкманын артыкчылыктары:

  • Шарттуу форматтоо ыңгайлаштырылган таблица форматын бузбайт
  • Бул тандоо опциясы бириктирилген уячалар менен туура иштейт.
  • Кокустан чыкылдатуу менен маалыматтардын сапты жана мамычасын толугу менен жок кылуу коркунучу жок жок кылуу.
  • Макрос минималдуу колдонулат

Бул ыкманын кемчиликтери:

  • Шарттуу форматтоо формуласы кол менен киргизилиши керек.
  • Мындай форматтоону иштетүү/өчүрүүнүн тез жолу жок – эреже жок кылынмайынча ал ар дайым иштетилет.

Метод 3. Оптималдуу. Шарттуу форматтоо + Макрос

Алтын орто. Биз 1-ыкмадагы макростордун жардамы менен баракта тандоого көз салуу механизмин колдонобуз жана ага 2-методдон шарттуу форматтоо аркылуу коопсуз бөлүп көрсөтүүнү кошобуз.

Мындай координатты тандоону каалаган таблица менен баракты ачыңыз. Барак барагын оң баскыч менен чыкылдатып, контексттик менюдан буйрукту тандаңыз Булак текст (Булак коду).Visual Basic Editor терезеси ачылышы керек. Бул үч макростун текстин ага көчүрүңүз:

Dim Coord_Selection As Boolean Sub Selection_On() Coord_Selection = True End Sub Sub Selection_Off() Coord_Selection = False End Sub Private Sub Worksheet_SelectionChange(ByVal Максаты диапазон катары) Dim WorkRange диапазон катары, CrossRange WorkRange of Range (Dim WorkRange as Range, CrossRange WorkRange as Range)(7N Range) 'адрес рабочего диапазона с таблице If Target.Count > 300 Анда Чыгуу Sub If Coord_Selection = False then WorkRange.FormatConditions.Delete Exit Sub End If Application.ScreenUpdating = False If Not Intersect(Target, WorkRange) Эч нерсе эмес, анда CrossRange орнотулат. WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.Color1Conditions =Format. .Delete End If End Sub  

Жумуш диапазонунун дарегин столдун дарегине өзгөртүүнү унутпаңыз. Visual Basic редакторун жаап, Excelге кайтыңыз. Кошулган макросторду колдонуу үчүн баскычтоптун жарлыгын басыңыз ALT + F8  жана 1-ыкмадагыдай эле улантыңыз. 

Метод 4. Сулуу. FollowCellPointer кошумчасы

Нидерландиялык Excel MVP Ян Карел Питерсе өзүнүн веб-сайтында бекер кошумчаны берет FollowCellPointer(36Kb), ал учурдагы сапты жана тилкени бөлүп көрсөтүү үчүн макростордун жардамы менен графикалык жебе сызыктарын тартуу менен ошол эле маселени чечет:

 

Жакшы чечим. Кээ бир жерлерде каталар жок эмес, бирок сөзсүз түрдө аракет кылуу керек. Архивди жүктөп алып, дискке таңгактан чыгарып, кошумчаны орнотуңуз:

  • Excel 2003 жана андан улуу - меню аркылуу Кызмат - Кошумчалар - Обзор (Куралдар — Кошумчалар — Серептөө)
  • Excel 2007 жана андан кийин, аркылуу Файл - Параметрлер - Кошумчалар - Өтүү - Серептөө (Файл — Excel параметрлери — Кошумчалар — Баруу — Серептөө)

  • Макрос деген эмне, Visual Basic программасына макрокодду кайда киргизүү керек

 

Таштап Жооп