Координатын сонголт

Та том монитортой, гэхдээ таны ажилладаг ширээ бүр ч том байна. Шаардлагатай мэдээллийг хайж олохын тулд дэлгэц дээгүүр харвал нүдээ дараагийн мөрөнд "гулсуулж", буруу зүг рүү харах боломж үргэлж байдаг. Ийм тохиолдлуудад модон захирагчийг монитор дээрх шугамд бэхлэхийн тулд үргэлж ойрхон байлгадаг хүмүүсийг би мэднэ. Ирээдүйн технологиуд! 

Идэвхтэй нүдийг хуудсан дээр шилжүүлэх үед одоогийн мөр ба баганыг тодруулсан бол? Ийм координатын сонголтын нэг төрөл:

Захирагчаас дээр, тийм үү?

Үүнийг хэрэгжүүлэхийн тулд янз бүрийн нарийн төвөгтэй хэд хэдэн арга байдаг. Арга бүр өөрийн давуу болон сул талуудтай. Тэднийг нарийвчлан авч үзье.

Арга 1. Илэрхий. Одоогийн мөр ба баганыг тодруулсан макро

Бидний асуудлыг "духан дээр" шийдэх хамгийн ойлгомжтой арга бол хуудас дээрх сонголтын өөрчлөлтийг хянаж, одоогийн нүдний мөр, баганыг бүхэлд нь сонгох макро хэрэгтэй. Шаардлагатай бол энэ функцийг идэвхжүүлж, идэвхгүй болгох нь зүйтэй бөгөөд ингэснээр ийм хөндлөн хэлбэртэй сонголт нь жишээлбэл томъёог оруулахад саад болохгүй, харин шаардлагатай зүйлийг хайж олохын тулд жагсаалтаас харахад л ажиллана. мэдээлэл. Энэ нь биднийг хуудасны модульд нэмэх шаардлагатай гурван макро (сонгох, идэвхжүүлэх, идэвхгүй болгох) руу авчирдаг.

Ийм координатын сонголтыг авахыг хүссэн хүснэгт бүхий хуудсыг нээнэ үү. Хуудасны таб дээр хулганы баруун товчийг дараад контекст цэснээс командыг сонгоно уу Эх текст (Эх код).Visual Basic Editor цонх нээгдэх ёстой. Эдгээр гурван макроны энэ текстийг хуулж ав:

Dim Coord_Selection As Boolean 'Select for global variable on/off Sub Selection_On() 'Macro on selection Coord_Selection = True End Sub Selection_Off() 'Macro off selection Coord_Selection = False End Sub 'Selecting гүйцэтгэдэг үндсэн процедур Private Sub WorksheetC TarhangeV As (SeleV) Range) Хэрэв Target.Cells.Count > 1 бол WorkRange-ийг бүдгэрүүлнэ. Дараа нь Дэд '1-ээс олон нүд сонгогдсон бол Coord_Selection = Худал бол Дэд хэсгээс гарна уу, хэрэв сонголт унтарсан бол Application.ScreenUpdating = Худал Set WorkRange = Range-ээс гарна уу. (" A6:N300") 'сонголт харагдахуйц ажиллах хүрээний хаяг  

Ажлын хүрээний хаягийг өөрийн болгож өөрчилнө үү - энэ хүрээнд бидний сонголт ажиллах болно. Дараа нь Visual Basic редакторыг хааж, Excel рүү буцна уу.

Гарын товчлолыг дарна уу ALT + F8боломжтой макронуудын жагсаалт бүхий цонхыг нээх. Макро Сонголт_асаалттай, таны таамаглаж байгаагаар одоогийн хуудсан дээрх координатын сонголт болон макро орно Сонголт_унтраах - унтраадаг. Үүнтэй ижил цонхонд товчлуур дээр дарна уу Үзүүлэлтүүд (Сонголтууд) Хялбар эхлүүлэхийн тулд та эдгээр макронд гарын товчлолыг оноож болно.

Энэ аргын давуу талууд:

  • хэрэгжүүлэхэд харьцангуй хялбар
  • сонголт - үйлдэл нь ямар ч хор хөнөөлгүй бөгөөд хуудасны нүднүүдийн агуулга, форматыг ямар ч байдлаар өөрчлөхгүй, бүх зүйл байгаагаараа хэвээр үлдэнэ.

Энэ аргын сул талууд:

  • Хэрэв хуудсан дээр нэгтгэсэн нүднүүд байвал ийм сонголт зөв ажиллахгүй - нэгдэлд орсон бүх мөр, багануудыг нэг дор сонгоно.
  • Хэрэв та санамсаргүйгээр Устгах товчийг дарвал зөвхөн идэвхтэй нүд төдийгүй сонгосон хэсгийг бүхэлд нь, өөрөөр хэлбэл бүх мөр, баганаас өгөгдлийг устгах болно.

Арга 2. Эх хувь. CELL + нөхцөлт форматлах функц

Энэ арга нь хэд хэдэн сул талуудтай ч надад маш дэгжин юм шиг санагддаг. Зөвхөн Excel-ийн суурилагдсан хэрэгслийг ашиглан ямар нэг зүйлийг хэрэгжүүлэхийн тулд VBA програмчлалд орох нь хамгийн багадаа нисэх онгоц юм 😉

Энэ арга нь өгөгдсөн нүдэнд өндөр, өргөн, мөр баганын дугаар, тооны формат гэх мэт олон янзын мэдээлэл өгөх боломжтой CELL функцийг ашиглахад суурилдаг. Энэ функц нь хоёр аргументтай:

  • "багана" эсвэл "мөр" гэх мэт параметрийн код үг
  • Энэ параметрийн утгыг тодорхойлохыг хүссэн нүдний хаяг

Заль мэх нь хоёр дахь аргумент нь сонголттой байдаг. Хэрэв заагаагүй бол одоогийн идэвхтэй нүдийг авна.

Энэ аргын хоёр дахь бүрэлдэхүүн хэсэг бол нөхцөлт форматлах явдал юм. Энэхүү маш ашигтай Excel функц нь заасан нөхцөлийг хангасан тохиолдолд нүдийг автоматаар форматлах боломжийг олгодог. Хэрэв бид эдгээр хоёр санааг нэг дор нэгтгэвэл нөхцөлт форматаар координатын сонголтоо хэрэгжүүлэх дараах алгоритмыг олж авна.

  1. Бид хүснэгтээ сонгоно, өөрөөр хэлбэл ирээдүйд координатын сонголтыг харуулах нүднүүдийг сонгоно.
  2. Excel 2003 болон түүнээс дээш хувилбаруудад цэсийг нээнэ үү Формат - Нөхцөлт формат - Томъёо (Формат - Нөхцөлт формат - Томъёо). Excel 2007 болон түүнээс хойшхи хувилбаруудад - таб дээр дарна уу Нүүр хуудас (Нүүр хуудас)товч Нөхцөлт формат - Дүрэм үүсгэх (Нөхцөлт формат - Дүрэм үүсгэх) мөн дүрмийн төрлийг сонгоно уу Аль нүдийг форматлахыг тодорхойлохын тулд томьёо ашиглана уу (Томъёо ашиглах)
  3. Бидний координат сонгох томъёог оруулна уу:

    =ЭСВЭЛ(CELL("мөр")=МӨР(A2),CELL("багана")=БАГАНА(A2))

    =OR(CELL(«мөр»)=МӨР(A1),CELL(«багана»)=БАГАНА(A1))

    Энэ томьёо нь хүснэгтийн нүд бүрийн баганын дугаар нь одоогийн нүдний баганын дугаартай ижил эсэхийг шалгадаг. Үүнтэй адилаар багана. Тиймээс зөвхөн баганын дугаар эсвэл одоогийн нүдтэй тохирох мөрийн дугаартай нүднүүдийг бөглөнө. Энэ бол бидний хүрэхийг хүсч буй хөндлөн хэлбэртэй координатын сонголт юм.

  4. хэвлэл мэдээллийн тогтолцоо (Формат) мөн дүүргэх өнгийг тохируулна уу.

Бүх зүйл бараг бэлэн болсон, гэхдээ нэг нюанс бий. Баримт нь Excel нь сонголтын өөрчлөлтийг хуудасны өгөгдлийн өөрчлөлт гэж үздэггүй. Үүний үр дүнд энэ нь зөвхөн идэвхтэй нүдний байрлал өөрчлөгдөх үед томьёог дахин тооцоолох, нөхцөлт форматыг өөрчлөхөд хүргэдэггүй. Тиймээс үүнийг хийх хуудасны модульд энгийн макро нэмье. Хуудасны таб дээр хулганы баруун товчийг дараад контекст цэснээс командыг сонгоно уу Эх текст (Эх код).Visual Basic Editor цонх нээгдэх ёстой. Энэхүү энгийн макроны текстийг түүн рүү хуулна уу:

Хувийн дэд ажлын хуудасны_сонголтыг өөрчлөх(хүржээр өөр зорилт) ActiveCell. Төгсгөлийн дэд хэсгийг тооцоолох  

Одоо сонголт өөрчлөгдөхөд функцтэй томъёог дахин тооцоолох үйл явц эхэлнэ Үүрэн нөхцөлт форматаар одоогийн мөр, баганыг дүүргэнэ.

Энэ аргын давуу талууд:

  • Нөхцөлт формат нь хүснэгтийн тусгай форматыг зөрчдөггүй
  • Энэ сонголт нь нэгтгэсэн нүднүүдэд зөв ажилладаг.
  • Санамсаргүй товшилтоор өгөгдлийн мөр, баганыг бүхэлд нь устгах эрсдэлгүй устгах.
  • Макрог хамгийн бага ашигладаг

Энэ аргын сул талууд:

  • Нөхцөлт форматын томъёог гараар оруулах ёстой.
  • Ийм форматыг идэвхжүүлэх/идэвхгүй болгох ямар ч хурдан арга байхгүй - энэ нь дүрмийг устгах хүртэл үргэлж идэвхждэг.

Арга 3. Оновчтой. Нөхцөлт формат + Макро

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

Ийм координатын сонголтыг авахыг хүссэн хүснэгт бүхий хуудсыг нээнэ үү. Хуудасны таб дээр хулганы баруун товчийг дараад контекст цэснээс командыг сонгоно уу Эх текст (Эх код).Visual Basic Editor цонх нээгдэх ёстой. Эдгээр гурван макроны энэ текстийг хуулж ав:

Бүдэг коордын_сонголтыг логикийн дэд сонголтоор_On() Coord_Selection = Үнэн төгсгөлийн дэд дэд сонголт_Off() Coord_Selection = Худал төгсгөлийн дэд хувийн дэд ажлын хуудас_SelectionChange(Val зорилтыг муж болгон) Бүдэг Ажлын хүрээг муж болгон, CrossRange) Dim WorkRange of Range, CrossRange)Range 7" 'adres рабочего диапазона с таблиц If Target.Count > 300 Дараа нь Sub Exit Хэрэв Coord_Selection = False Дараа нь WorkRange.FormatConditions.Delete Exit Sub End If Application.ScreenUpdating = False Intersect(Target, WorkRange) нь юу ч биш, тэгвэл Intersect = CrossRange тохируулна( WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex.Format.Interior.1ColorIndex =Format. .Delete End If End Sub  

Ажлын хүрээний хаягийг өөрийн хүснэгтийн хаяг руу өөрчлөхөө бүү мартаарай. Visual Basic редакторыг хаагаад Excel рүү буцна уу. Нэмсэн макронуудыг ашиглахын тулд гарын товчлолыг дарна уу ALT + F8  мөн 1-р аргын адилаар үргэлжлүүлнэ. 

Арга 4. Сайхан. FollowCellPointer нэмэлт

Нидерландын Excel-ийн MVP Jan Karel Pieterse өөрийн вэб сайт дээр үнэгүй нэмэлтийг бэлэглэж байна CellPointer-ийг дагаж мөрдөөрэй(36Kb), энэ нь одоогийн мөр, баганыг тодруулахын тулд макро ашиглан график сумтай шугам зурж ижил асуудлыг шийддэг:

 

Сайхан шийдэл. Хаа нэгтээ алдаа гаргаагүй ч оролдоод үзэх нь зүйтэй. Архивыг татаж аваад диск рүү задалж, нэмэлтийг суулгана уу:

  • Excel 2003 ба түүнээс дээш хувилбаруудад - цэсээр дамжуулан Үйлчилгээ - Нэмэлтүүд - Тойм (Хэрэгслүүд - Нэмэлтүүд - үзэх)
  • Excel 2007 болон түүнээс хойшхи хувилбаруудад дамжуулан Файл - Сонголтууд - Нэмэлтүүд - Явах - Хайх (Файл — Excel сонголтууд — Нэмэлтүүд — Очих — үзэх)

  • Макро гэж юу вэ, Visual Basic програмын макро кодыг хаана оруулах вэ

 

хариу үлдээх