Pagpili ng Coordinate

Malaki ang monitor mo, pero mas malaki pa ang mga table na pinagtatrabahuhan mo. At, tumitingin sa screen sa paghahanap ng kinakailangang impormasyon, palaging may pagkakataon na "madulas" ang iyong mga mata sa susunod na linya at tumingin sa maling direksyon. May kilala pa akong mga tao na, para sa mga ganitong okasyon, ay laging naglalagay ng kahoy na ruler malapit sa kanila upang ikabit ito sa linya sa monitor. Teknolohiya ng hinaharap! 

At kung ang kasalukuyang row at column ay naka-highlight kapag ang aktibong cell ay gumagalaw sa sheet? Isang uri ng pagpili ng coordinate tulad nito:

Mas mahusay kaysa sa isang pinuno, tama ba?

Mayroong ilang mga paraan ng iba't ibang kumplikado upang ipatupad ito. Ang bawat pamamaraan ay may mga kalamangan at kahinaan nito. Tingnan natin ang mga ito nang detalyado.

Paraan 1. Obvious. Macro na nagha-highlight sa kasalukuyang row at column

Ang pinaka-halatang paraan upang malutas ang aming problema "sa noo" - kailangan namin ng isang macro na susubaybay sa pagbabago sa pagpili sa sheet at piliin ang buong row at column para sa kasalukuyang cell. Ito rin ay kanais-nais na paganahin at huwag paganahin ang function na ito kung kinakailangan, upang ang gayong cross-shaped na seleksyon ay hindi makahadlang sa amin sa pagpasok, halimbawa, mga formula, ngunit gumagana lamang kapag tinitingnan namin ang listahan sa paghahanap ng kinakailangang impormasyon. Dinadala tayo nito sa tatlong macro (piliin, paganahin, at huwag paganahin) na kakailanganing idagdag sa module ng sheet.

Magbukas ng sheet na may isang talahanayan kung saan mo gustong makakuha ng ganoong pagpili ng coordinate. Mag-right-click sa tab na sheet at piliin ang command mula sa menu ng konteksto Pinagmulan ng teksto (Source Code).Dapat bumukas ang window ng Visual Basic Editor. Kopyahin ang tekstong ito ng tatlong macro dito:

Dim Coord_Selection Bilang Boolean 'Global variable para sa pagpili sa on/off Sub Selection_On() 'Macro on selection Coord_Selection = True End Sub Selection_Off() 'Macro off selection Coord_Selection = False End Sub 'Pangunahing pamamaraan na nagsasagawa ng pagpili Pribadong Sub Worksheet_SelectionChange As(ByVal Target Range) Dim WorkRange Bilang Range Kung Target.Cells.Count > 1 Pagkatapos Exit Sub 'kung higit sa 1 cell ang napili, lumabas Kung Coord_Selection = False Then Exit Sub 'kung naka-off ang pagpili, lumabas sa Application.ScreenUpdating = False Set WorkRange = Range (" A6:N300") 'address ng working range kung saan makikita ang pagpili  

Baguhin ang address ng hanay ng trabaho sa iyong sarili - nasa loob ng hanay na ito na gagana ang aming pagpili. Pagkatapos ay isara ang Visual Basic Editor at bumalik sa Excel.

Pindutin ang keyboard shortcut ALT + F8para magbukas ng window na may listahan ng mga available na macro. Macro Selection_On, gaya ng maaari mong hulaan, kasama ang pagpili ng coordinate sa kasalukuyang sheet, at ang macro Selection_Off – pinapatay ito. Sa parehong window, sa pamamagitan ng pag-click sa pindutan parameter (Mga Opsyon) Maaari kang magtalaga ng mga keyboard shortcut sa mga macro na ito para sa madaling paglunsad.

Mga kalamangan ng pamamaraang ito:

  • relatibong kadalian ng pagpapatupad
  • pagpili - ang operasyon ay hindi nakakapinsala at hindi binabago ang nilalaman o pag-format ng mga cell ng sheet sa anumang paraan, ang lahat ay nananatiling tulad nito

Kahinaan ng pamamaraang ito:

  • hindi gumagana nang tama ang naturang pagpili kung may pinagsamang mga cell sa sheet – lahat ng mga hilera at column na kasama sa unyon ay pinili nang sabay-sabay
  • kung hindi mo sinasadyang pindutin ang Delete key, hindi lamang ang aktibong cell ang mali-clear, ngunit ang buong napiling lugar, ibig sabihin, tanggalin ang data mula sa buong row at column.

Paraan 2. Orihinal. CELL + Conditional Formatting Function

Ang pamamaraang ito, bagama't mayroon itong ilang mga kakulangan, tila sa akin ay napaka-eleganteng. Upang ipatupad ang isang bagay gamit lamang ang mga built-in na tool sa Excel, ang minimal na pagpasok sa programming sa VBA ay aerobatics 😉

Ang pamamaraan ay batay sa paggamit ng CELL function, na maaaring magbigay ng maraming iba't ibang impormasyon sa isang naibigay na cell – taas, lapad, row-column number, format ng numero, atbp. Ang function na ito ay may dalawang argumento:

  • isang code na salita para sa parameter, gaya ng “column” o “row”
  • ang address ng cell kung saan gusto naming matukoy ang halaga ng parameter na ito

Ang lansihin ay ang pangalawang argumento ay opsyonal. Kung hindi ito tinukoy, kung gayon ang kasalukuyang aktibong cell ay kukunin.

Ang pangalawang bahagi ng pamamaraang ito ay kondisyonal na pag-format. Ang napakakapaki-pakinabang na tampok na Excel na ito ay nagbibigay-daan sa iyo na awtomatikong mag-format ng mga cell kung natutugunan nila ang mga tinukoy na kundisyon. Kung pagsasamahin namin ang dalawang ideyang ito sa isa, makukuha namin ang sumusunod na algorithm para sa pagpapatupad ng aming pagpili ng coordinate sa pamamagitan ng conditional formatting:

  1. Pinipili namin ang aming talahanayan, ibig sabihin, ang mga cell kung saan dapat ipakita ang pagpili ng coordinate sa hinaharap.
  2. Sa Excel 2003 at mas luma, buksan ang menu Format – Conditional Formatting – Formula (Format — Conditional Formatting — Formula). Sa Excel 2007 at mas bago – mag-click sa tab Tahanan (Tahanan)butones Conditional Formatting – Lumikha ng Panuntunan (Conditional Formatting — Lumikha ng Panuntunan) at piliin ang uri ng panuntunan Gumamit ng formula upang matukoy kung aling mga cell ang ipo-format (Gumamit ng formula)
  3. Ilagay ang formula para sa aming pagpili ng coordinate:

    =O(CELL(“row”)=ROW(A2),CELL(“column”)=COLUMN(A2))

    =O(CELL(«row»)=ROW(A1),CELL(«column»)=COLUMN(A1))

    Sinusuri ng formula na ito kung ang numero ng column ng bawat cell sa talahanayan ay kapareho ng numero ng column ng kasalukuyang cell. Gayundin sa mga hanay. Kaya, ang mga cell lang na mayroong column number o row number na tumutugma sa kasalukuyang cell ang pupunan. At ito ang cross-shaped coordinate selection na gusto nating makamit.

  4. I-click ang pindutan Balangkas (format) at itakda ang kulay ng fill.

Ang lahat ay halos handa na, ngunit mayroong isang nuance. Ang katotohanan ay hindi isinasaalang-alang ng Excel ang isang pagbabago sa pagpili bilang isang pagbabago sa data sa sheet. At, bilang isang resulta, hindi ito nag-trigger ng muling pagkalkula ng mga formula at recoloring ng conditional formatting lamang kapag ang posisyon ng aktibong cell ay nagbabago. Samakatuwid, magdagdag tayo ng isang simpleng macro sa sheet module na gagawa nito. Mag-right-click sa tab na sheet at piliin ang command mula sa menu ng konteksto Pinagmulan ng teksto (Source Code).Dapat bumukas ang window ng Visual Basic Editor. Kopyahin ang tekstong ito ng simpleng macro dito:

Pribadong Sub Worksheet_SelectionChange(ByVal Target Bilang Saklaw) ActiveCell.Calculate End Sub  

Ngayon, kapag nagbago ang pagpili, ang proseso ng muling pagkalkula ng formula na may function ay ilulunsad CELL sa conditional formatting at baha ang kasalukuyang row at column.

Mga kalamangan ng pamamaraang ito:

  • Hindi sinisira ng kondisyong pag-format ang custom na pag-format ng talahanayan
  • Ang pagpipiliang ito sa pagpili ay gumagana nang tama sa mga pinagsamang cell.
  • Walang panganib na tanggalin ang isang buong row at column ng data sa hindi sinasadyang pag-click alisin.
  • Ang mga macro ay hindi gaanong ginagamit

Kahinaan ng pamamaraang ito:

  • Ang formula para sa kondisyong pag-format ay dapat na ipasok nang manu-mano.
  • Walang mabilis na paraan upang paganahin/paganahin ang naturang pag-format - ito ay palaging pinagana hanggang sa matanggal ang panuntunan.

Paraan 3. Pinakamainam. Conditional Formatting + Macros

Ginintuang halaga. Ginagamit namin ang mekanismo para sa pagsubaybay sa pagpili sa sheet gamit ang mga macro mula sa pamamaraan-1 at nagdaragdag ng ligtas na pag-highlight dito gamit ang kondisyong pag-format mula sa pamamaraan-2.

Magbukas ng sheet na may isang talahanayan kung saan mo gustong makakuha ng ganoong pagpili ng coordinate. Mag-right-click sa tab na sheet at piliin ang command mula sa menu ng konteksto Pinagmulan ng teksto (Source Code).Dapat bumukas ang window ng Visual Basic Editor. Kopyahin ang tekstong ito ng tatlong macro dito:

Dim Coord_Selection Bilang Boolean Sub Selection_On() Coord_Selection = True End Sub Sub Selection_Off() Coord_Selection = False End Sub Pribadong Sub Worksheet_SelectionChange(ByVal Target Bilang Saklaw) Dim WorkRange Bilang Saklaw, CrossRange Bilang Saklaw Itakda ang WorkRange:N7 'адрес рабочего диапазона с таблицей If Target.Count > 300 Then Exit Sub Kung Coord_Selection = False Then WorkRange.FormatConditions.Delete Exit Sub End If Application.ScreenUpdating = False Kung Hindi Intersect na Intersect(Target na Intersect) Ay Wala, Intersect Then Intersect(Target) WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex = 1 Target.FormatConditions .Tanggalin End Kung End Sub  

Huwag kalimutang palitan ang address ng working range sa address ng iyong table. Isara ang Visual Basic Editor at bumalik sa Excel. Upang gamitin ang mga idinagdag na macro, pindutin ang keyboard shortcut ALT + F8  at magpatuloy sa parehong paraan tulad ng pamamaraan 1. 

Paraan 4. Maganda. FollowCellPointer add-on

Ang Excel MVP na si Jan Karel Pieterse mula sa Netherlands ay nagbibigay ng libreng add-on sa kanyang website FollowCellPointer(36Kb), na lumulutas sa parehong problema sa pamamagitan ng pagguhit ng mga graphic na linya ng arrow gamit ang mga macro upang i-highlight ang kasalukuyang row at column:

 

Magandang solusyon. Hindi walang mga glitches sa mga lugar, ngunit talagang sulit na subukan. I-download ang archive, i-unpack ito sa disk at i-install ang add-on:

  • sa Excel 2003 at mas matanda – sa pamamagitan ng menu Serbisyo – Mga Add-on – Pangkalahatang-ideya (Mga Tool — Mga Add-In — Mag-browse)
  • sa Excel 2007 at mas bago, sa pamamagitan ng File - Mga Pagpipilian - Mga Add-on - Pumunta - Mag-browse (File — Mga Pagpipilian sa Excel — Mga Add-In — Pumunta sa — Mag-browse)

  • Ano ang mga macro, kung saan ilalagay ang macro code sa Visual Basic

 

Mag-iwan ng Sagot