Cydlynu Dewis

Mae gennych fonitor mawr, ond mae'r tablau rydych chi'n gweithio gyda nhw hyd yn oed yn fwy. Ac, wrth edrych dros y sgrin i chwilio am y wybodaeth angenrheidiol, mae yna bob amser gyfle i “lithro” eich llygaid i'r llinell nesaf ac edrych i'r cyfeiriad anghywir. Rwyf hyd yn oed yn adnabod pobl sydd, ar adegau o'r fath, bob amser yn cadw pren mesur pren yn agos atynt i'w gysylltu â'r llinell ar y monitor. Technolegau'r dyfodol! 

Ac os yw'r rhes a'r golofn gyfredol yn cael eu hamlygu pan fydd y gell weithredol yn symud ar draws y ddalen? Math o ddetholiad cydlynu fel hyn:

Gwell na phren mesur, iawn?

Mae sawl ffordd o gymhlethdod amrywiol i weithredu hyn. Mae gan bob dull ei fanteision a'i anfanteision. Gadewch i ni edrych arnynt yn fanwl.

Dull 1. Amlwg. Macro sy'n amlygu'r rhes a'r golofn gyfredol

Y ffordd fwyaf amlwg i ddatrys ein problem “ar y talcen” - mae angen macro arnom a fydd yn olrhain y newid yn y dewis ar y ddalen a dewis y rhes a'r golofn gyfan ar gyfer y gell gyfredol. Mae hefyd yn ddymunol gallu galluogi ac analluogi'r swyddogaeth hon os oes angen, fel nad yw detholiad o'r fath ar ffurf croes yn ein hatal rhag mynd i mewn, er enghraifft, fformiwlâu, ond dim ond yn gweithio pan fyddwn yn edrych drwy'r rhestr i chwilio am y fformiwlâu angenrheidiol. gwybodaeth. Daw hyn â ni at y tri macros (dewis, galluogi, ac analluogi) y bydd angen eu hychwanegu at y modiwl dalen.

Agorwch ddalen gyda thabl lle rydych chi am gael dewis cyfesurynnau o'r fath. De-gliciwch ar y tab dalen a dewiswch y gorchymyn o'r ddewislen cyd-destun Testun ffynhonnell (Cod Ffynhonnell).Dylai ffenestr Visual Basic Editor agor. Copïwch y testun hwn o'r tri macros hyn i mewn iddo:

Dim Coord_Selection As Boolean 'Newidyn byd-eang ar gyfer dewis ymlaen/i ffwrdd Is Dewis_Ar() 'Macro ar ddetholiad Coord_Selection = Gwir Diwedd Is Dewis_Off() 'Macro oddi ar y dewis Coord_Selection = Is Diwedd Anghywir 'Prif weithdrefn sy'n perfformio dewis Is-Dddalen Waith Breifat_SelectionChange(Trwy Darged Val Fel Ystod) Dim WorkRange As Range If Target.Cells.Count > 1 Yna Gadael Is 'os dewisir mwy nag 1 cell, ymadael Os Coord_Selection = Gau Yna Ymadael Is 'os yw'r dewis wedi'i ddiffodd, ymadael Application.ScreenUpdating = Gosod Gau WorkRange = Ystod (" A6:N300") 'cyfeiriad yr ystod waith y mae'r dewis yn weladwy o'i fewn  

Newidiwch gyfeiriad yr ystod waith i'ch un chi - o fewn yr ystod hon y bydd ein dewis yn gweithio. Yna caewch y Golygydd Sylfaenol Gweledol a dychwelyd i Excel.

Pwyswch y llwybr byr bysellfwrdd ALT + F8i agor ffenestr gyda rhestr o'r macros sydd ar gael. Macro Dewis_Ymlaen, fel y gallech ddyfalu, yn cynnwys dewis cyfesurynnau ar y ddalen gyfredol, a'r macro Dewis_Diffodd - ei droi i ffwrdd. Yn yr un ffenestr, cliciwch ar y botwm paramedrau (Dewisiadau) Gallwch chi neilltuo llwybrau byr bysellfwrdd i'r macros hyn i'w lansio'n hawdd.

Manteision y dull hwn:

  • rhwyddineb cymharol gweithredu
  • dewis - mae'r llawdriniaeth yn ddiniwed ac nid yw'n newid cynnwys na fformat y celloedd dalennau mewn unrhyw ffordd, mae popeth yn aros fel y mae

Anfanteision y dull hwn:

  • nid yw dewis o'r fath yn gweithio'n gywir os oes celloedd wedi'u huno ar y ddalen - dewisir pob rhes a cholofn yn yr undeb ar unwaith
  • os gwasgwch yr allwedd Dileu yn ddamweiniol, yna nid yn unig y bydd y gell weithredol yn cael ei chlirio, ond yr ardal gyfan a ddewiswyd, hy dileu data o'r rhes a'r golofn gyfan

Dull 2. Gwreiddiol. CELL + Swyddogaeth Fformatio Amodol

Mae'r dull hwn, er bod ganddo ychydig o anfanteision, yn ymddangos i mi yn gain iawn. I weithredu rhywbeth gan ddefnyddio'r offer Excel adeiledig yn unig, mae cyn lleied â phosibl o fynd i mewn i raglennu yn VBA yn aerobatics 😉

Mae'r dull yn seiliedig ar ddefnyddio swyddogaeth CELL, sy'n gallu rhoi llawer o wybodaeth wahanol ar gell benodol - uchder, lled, rhif rhes-colofn, fformat rhif, ac ati. Mae dwy ddadl i'r swyddogaeth hon:

  • gair cod ar gyfer y paramedr, fel “colofn” neu “rhes”
  • cyfeiriad y gell yr ydym am bennu gwerth y paramedr hwn ar ei chyfer

Y tric yw bod yr ail ddadl yn ddewisol. Os na chaiff ei nodi, yna cymerir y gell weithredol gyfredol.

Ail gydran y dull hwn yw fformatio amodol. Mae'r nodwedd Excel hynod ddefnyddiol hon yn caniatáu ichi fformatio celloedd yn awtomatig os ydynt yn bodloni amodau penodedig. Os byddwn yn cyfuno'r ddau syniad hyn yn un, rydym yn cael yr algorithm canlynol ar gyfer gweithredu ein dewis cydlynu trwy fformatio amodol:

  1. Rydym yn dewis ein tabl, hy y celloedd hynny y dylid arddangos y dewis cyfesurynnau ynddynt yn y dyfodol.
  2. Yn Excel 2003 a hŷn, agorwch y ddewislen Fformat – Fformatio Amodol – Fformiwla (Fformat - Fformatio Amodol - Fformiwla). Yn Excel 2007 ac yn fwy newydd - cliciwch ar y tab Hafan (Cartref)botwm Fformatio Amodol - Creu Rheol (Fformatio Amodol - Creu Rheol) a dewis y math o reol Defnyddiwch fformiwla i bennu pa gelloedd i'w fformatio (Defnyddiwch fformiwla)
  3. Rhowch y fformiwla ar gyfer ein dewis cyfesurynnau:

    =OR(CELL("rhes")=ROW(A2),CELL("colofn")=COLOFN(A2))

    =OR(CELL(«rhes»)=ROW(A1),CELL(«colofn»)=COLOFN(A1))

    Mae'r fformiwla hon yn gwirio i weld a yw rhif colofn pob cell yn y tabl yr un peth â rhif colofn y gell gyfredol. Yr un modd gyda cholofnau. Felly, dim ond y celloedd hynny sydd â rhif colofn neu rif rhes sy'n cyfateb i'r gell gyfredol a fydd yn cael eu llenwi. A dyma'r dewis cyfesurynnau croes-siâp yr ydym am ei gyflawni.

  4. y wasg Fframwaith (Fformat) a gosod y lliw llenwi.

Mae popeth bron yn barod, ond mae un naws. Y ffaith yw nad yw Excel yn ystyried newid yn y detholiad fel newid yn y data ar y ddalen. Ac, o ganlyniad, nid yw'n sbarduno ailgyfrifo fformiwlâu ac ail-liwio fformatio amodol dim ond pan fydd lleoliad y gell weithredol yn newid. Felly, gadewch i ni ychwanegu macro syml at y modiwl taflen a fydd yn gwneud hyn. De-gliciwch ar y tab dalen a dewiswch y gorchymyn o'r ddewislen cyd-destun Testun ffynhonnell (Cod Ffynhonnell).Dylai ffenestr Visual Basic Editor agor. Copïwch y testun hwn o'r macro syml hwn i mewn iddo:

Is-daflen Waith Breifat_SelectionChange(FalVal Target As Range) ActiveCell.Calculate End Is  

Nawr, pan fydd y dewis yn newid, bydd y broses o ailgyfrifo'r fformiwla gyda'r swyddogaeth yn cael ei lansio CELL mewn fformatio amodol a gorlifo'r rhes a'r golofn gyfredol.

Manteision y dull hwn:

  • Nid yw fformatio amodol yn torri fformatio tabl arferol
  • Mae'r opsiwn dewis hwn yn gweithio'n gywir gyda chelloedd unedig.
  • Dim risg o ddileu rhes gyfan a cholofn o ddata wrth glicio damweiniol Dileu.
  • Defnyddir cyn lleied â phosibl o macros

Anfanteision y dull hwn:

  • Rhaid cofnodi'r fformiwla ar gyfer fformatio amodol â llaw.
  • Nid oes unrhyw ffordd gyflym o alluogi / analluogi fformatio o'r fath - mae bob amser yn cael ei alluogi nes bod y rheol yn cael ei dileu.

Dull 3. Optimal. Fformatio Amodol + Macros

Cymedr euraidd. Rydym yn defnyddio'r mecanwaith ar gyfer olrhain y detholiad ar y ddalen gan ddefnyddio macros o ddull-1 ac yn ychwanegu amlygu diogel ato gan ddefnyddio fformatio amodol o ddull-2.

Agorwch ddalen gyda thabl lle rydych chi am gael dewis cyfesurynnau o'r fath. De-gliciwch ar y tab dalen a dewiswch y gorchymyn o'r ddewislen cyd-destun Testun ffynhonnell (Cod Ffynhonnell).Dylai ffenestr Visual Basic Editor agor. Copïwch y testun hwn o'r tri macros hyn i mewn iddo:

Dim Coord_Selection As Boole Is Selection_On() Coord_Selection = Gwir Diwedd Is-Detholiad_Off() Coord_Selection = Diwedd Anghywir Is-breifat Is-daflen waith_DetholiadNewid(ByVal Target As Range) Dim WorkYsge As The Range, CrossRange As Range Set WorkRange = Ystod("A7"): N300 ' адрес рабочего диапазона с таблицей Os Target.Count > 1 Yna Ymadael Is Os Coord_Selection = Anghywir Yna WorkRange.FormatConditions.Delete Exit Sub End If Application.ScreenUpdating = Anghywir Os Nac yw'n Croestorri (TarSet) WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex = 33 TargetConditions. .Dileu Diwedd Os Diwedd Is  

Peidiwch ag anghofio newid y cyfeiriad ystod waith i'ch cyfeiriad tabl. Caewch y Golygydd Visual Basic a dychwelyd i Excel. I ddefnyddio'r macros ychwanegol, pwyswch y llwybr byr bysellfwrdd ALT + F8  a bwrw ymlaen yn yr un modd â dull 1. 

Dull 4. Hardd. Ychwanegiad FollowCellPointer

Mae Excel MVP Jan Karel Pieterse o'r Iseldiroedd yn rhoi ychwanegiad am ddim ar ei wefan DilynwchCellPointer(36Kb), sy'n datrys yr un broblem trwy dynnu llinellau saethau graffig gan ddefnyddio macros i amlygu'r rhes a'r golofn gyfredol:

 

Datrysiad neis. Nid heb glitches mewn mannau, ond yn bendant yn werth rhoi cynnig. Dadlwythwch yr archif, dadbacio i ddisg a gosod yr ychwanegyn:

  • yn Excel 2003 a hŷn – trwy'r ddewislen Gwasanaeth - Ychwanegion - Trosolwg (Offer - Ychwanegion - Pori)
  • yn Excel 2007 ac yn ddiweddarach, drwodd Ffeil - Opsiynau - Ychwanegion - Ewch - Pori (Ffeil - Opsiynau Excel - Ychwanegion - Ewch i - Pori)

  • Beth yw macros, ble i fewnosod cod macro yn Visual Basic

 

Gadael ymateb