Kowòdone Seleksyon

Ou gen yon gwo monitè, men tab ou travay ak yo menm pi gwo. Epi, gade sou ekran an pou chèche enfòmasyon ki nesesè yo, toujou gen yon chans pou "glise" je ou nan pwochen liy lan epi gade nan move direksyon an. Mwen menm konnen moun ki, pou okazyon sa yo, toujou kenbe yon règ an bwa tou pre yo pou tache li nan liy ki sou monitè a. Teknoloji nan tan kap vini an! 

Men, si ranje ak kolòn aktyèl la make lè selil aktif la deplase atravè fèy la? Yon kalite seleksyon kowòdone tankou sa a:

Pi bon pase yon chèf, pa vre?

Gen plizyè fason diferan konpleksite pou aplike sa a. Chak metòd gen avantaj ak dezavantaj li yo. Ann pran yon gade nan yo an detay.

Metòd 1. Li evidan. Makro ki mete aksan sou ranje ak kolòn aktyèl la

Fason ki pi evidan pou rezoud pwoblèm nou an "sou fwon an" - nou bezwen yon makro ki pral swiv chanjman nan seleksyon an sou fèy la epi chwazi tout ranje ak kolòn pou selil aktyèl la. Li se tou dezirab pou kapab pèmèt ak enfim fonksyon sa a si sa nesesè, se konsa ke tankou yon seleksyon ki gen fòm kwa pa anpeche nou antre, pou egzanp, fòmil, men sèlman travay lè nou gade nan lis la nan rechèch la ki nesesè yo. enfòmasyon. Sa a mennen nou nan twa makro yo (chwazi, aktive, ak enfim) ki pral bezwen ajoute nan modil la fèy.

Louvri yon fèy ak yon tab kote ou vle jwenn tankou yon seleksyon kowòdone. Dwa-klike sou tab la fèy epi chwazi kòmandman an nan meni an kontèks Tèks sous (Kòd sous).Fenèt Visual Basic Editè a ta dwe louvri. Kopi tèks sa a nan twa makro sa yo nan li:

Dim Coord_Selection As Boolean 'Global varyab pou seleksyon on/off Sub Selection_On() 'Macro sou seleksyon Coord_Selection = True End Sub Selection_Off() 'Macro off seleksyon Coord_Selection = Fo End Sub 'Pwosedi prensipal ki fè seleksyon Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim WorkRange kòm Range Si Target.Cells.Count > 1 Lè sa a, Sòti Sub 'si yo chwazi plis pase 1 selil, sòti Si Coord_Selection = Fo Lè sa a, Sòti Sub 'si seleksyon an koupe, sòti Application.ScreenUpdating = Fo Mete WorkRange = Range ("A6:N300") 'adrès ranje k ap travay nan kote seleksyon an vizib  

Chanje adrès ranje travay la pou pwòp ou a - se nan ranje sa a ke seleksyon nou an ap travay. Lè sa a, fèmen Visual Basic Editè a epi retounen nan Excel.

Peze rakoursi klavye a ALT + F8pou louvri yon fenèt ak yon lis makro ki disponib. Makro Selection_On, jan ou ta ka devine, gen ladan seleksyon kowòdone sou fèy aktyèl la, ak makro a Selection_Off - etenn li. Nan menm fenèt la, klike sou bouton an paramèt (Opsyon) Ou ka bay rakoursi klavye makro sa yo pou lansman fasil.

Avantaj nan metòd sa a:

  • relatif fasilite nan aplikasyon
  • seleksyon - operasyon an inofansif epi li pa chanje kontni an oswa fòma selil fèy yo nan okenn fason, tout bagay rete jan li ye.

Dezavantaj metòd sa a:

  • seleksyon sa a pa travay kòrèkteman si gen selil fizyone sou fèy la - tout ranje ak kolòn ki enkli nan sendika a yo chwazi nan yon fwa.
  • si ou aksidantèlman peze kle a Efase, Lè sa a, pa sèlman selil aktif la pral otorize, men tout zòn nan chwazi a, sa vle di efase done ki sòti nan tout ranje a ak kolòn.

Metòd 2. Orijinal. CELL + Fonksyon fòma kondisyonèl

Metòd sa a, byenke li gen yon koup nan dezavantaj, sanble m 'trè elegant. Pou aplike yon bagay lè l sèvi avèk sèlman zouti Excel entegre yo, yon minimòm antre nan pwogram nan VBA se voltij 😉

Metòd la baze sou itilize fonksyon CELL la, ki ka bay anpil enfòmasyon diferan sou yon selil yo bay - wotè, lajè, nimewo ranje-kolòn, fòma nimewo, elatriye. Fonksyon sa a gen de agiman:

  • yon mo kòd pou paramèt la, tankou "kolòn" oswa "ranje"
  • adrès la nan selil la pou ki nou vle detèmine valè a nan paramèt sa a

Trick la se ke dezyèm agiman an se opsyonèl. Si li pa espesifye, Lè sa a, selil aktif aktyèl la pran.

Dezyèm eleman metòd sa a se fòma kondisyonèl. Karakteristik Excel sa a trè itil pèmèt ou otomatikman fòma selil yo si yo satisfè kondisyon espesifye yo. Si nou konbine de ide sa yo nan yon sèl, nou jwenn algorithm sa a pou aplike seleksyon kowòdone nou an atravè fòma kondisyonèl:

  1. Nou chwazi tab nou an, sa vle di selil sa yo kote seleksyon kowòdone yo ta dwe parèt alavni.
  2. Nan Excel 2003 ak pi gran, louvri meni an Fòma – fòma kondisyonèl – fòmil (Fòma — Fòma kondisyonèl — Fòmil). Nan Excel 2007 ak pi nouvo - klike sou tab la Akèy (Kay)bouton Fòma kondisyonèl - Kreye Règ (Fòma Kondisyonèl - Kreye Règ) epi chwazi kalite règ la Sèvi ak yon fòmil pou detèmine ki selil pou fòma (Sèvi ak fòmil)
  3. Antre fòmil la pou seleksyon kowòdone nou an:

    = OSWA (SELIL ("ranje") = RANG (A2), SELIL ("kolòn") = COLÒN (A2))

    =OSWA(SELIL(«ranje»)=RANJEY(A1),SELIL(«kolòn»)=KOOLÒN(A1))

    Fòmil sa a tcheke pou wè si nimewo kolòn chak selil nan tablo a se menm ak nimewo kolòn selil aktyèl la. Menm jan an tou ak kolòn. Kidonk, sèlman selil sa yo ki gen swa yon nimewo kolòn oswa yon nimewo ranje ki matche ak selil aktyèl la pral ranpli pous. Epi sa a se seleksyon an kowòdone ki gen fòm kwa ke nou vle reyalize.

  4. Klike sou bouton an Fondasyon (Fòma) epi mete koulè ranpli a.

Tout se prèske pare, men gen yon sèl nuans. Reyalite a se ke Excel pa konsidere yon chanjman nan seleksyon an kòm yon chanjman nan done yo sou fèy la. Epi, kòm yon rezilta, li pa deklanche rekalkile fòmil yo ak rekolorasyon fòma kondisyonèl sèlman lè pozisyon selil aktif la chanje. Se poutèt sa, an n ajoute yon makro senp nan modil la fèy ki pral fè sa. Dwa-klike sou tab la fèy epi chwazi kòmandman an nan meni an kontèks Tèks sous (Kòd sous).Fenèt Visual Basic Editè a ta dwe louvri. Kopi tèks sa a nan makro senp sa a nan li:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveCell.Calculate End Sub  

Koulye a, lè seleksyon an chanje, pwosesis la nan rekalkile fòmil la ak fonksyon an pral lanse SELILÈ nan fòma kondisyonèl ak inondasyon ranje aktyèl la ak kolòn.

Avantaj nan metòd sa a:

  • Fòma kondisyonèl pa kraze fòma tab koutim
  • Opsyon seleksyon sa a travay kòrèkteman ak selil fizyone yo.
  • Pa gen risk pou yo efase yon ranje antye ak yon kolòn nan done sou aksidan aksidan Efase.
  • Macro yo itilize yon minimòm

Dezavantaj metòd sa a:

  • Fòmil la pou fòma kondisyonèl dwe antre manyèlman.
  • Pa gen okenn fason rapid pou pèmèt / enfim fòma sa yo - li toujou pèmèt jiskaske règ la efase.

Metòd 3. Optimal. Fòma kondisyonèl + Macro

Golden vle di. Nou itilize mekanis pou swiv seleksyon an sou fèy la lè l sèvi avèk makro ki soti nan metòd-1 epi ajoute souliye san danje nan li lè l sèvi avèk fòma kondisyonèl soti nan metòd-2.

Louvri yon fèy ak yon tab kote ou vle jwenn tankou yon seleksyon kowòdone. Dwa-klike sou tab la fèy epi chwazi kòmandman an nan meni an kontèks Tèks sous (Kòd sous).Fenèt Visual Basic Editè a ta dwe louvri. Kopi tèks sa a nan twa makro sa yo nan li:

Dim Coord_Selection As Boolean Sub Selection_On() Coord_Selection = True End Sub Sub Selection_Off () Coord_Selection = Fo Fen Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim WorkRange As Range, CrossRange As Range Set WorkRange = Range("A7:N300") 'адрес рабочего диапазона с таблицей Si Target.Count > 1 Lè sa a, Sòti Sub Si Coord_Selection = False Lè sa a, WorkRange.FormatConditions.Delete Sòti Sub End Si Application.ScreenUpdating, Si Pa gen Interaktyon (TravaySelection) = False Range. ect( WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex = 33 Target.FormatConditions .Efase End If End Sub  

Pa bliye chanje adrès ranje travay la ak adrès tab ou a. Fèmen Editè Visual Basic epi retounen nan Excel. Pou itilize makro yo ajoute, peze rakoursi klavye a ALT + F8  epi kontinye nan menm fason ak metòd 1. 

Metòd 4. Bèl. FollowCellPointer add-on

Excel MVP Jan Karel Pieterse soti nan Netherlands bay lwen yon ajoute gratis sou sit entènèt li FollowCellPointer(36Kb), ki rezoud menm pwoblèm nan lè li trase liy flèch grafik ak makro pou mete aksan sou ranje ak kolòn aktyèl la:

 

Bèl solisyon. Pa san pwoblèm nan kote, men definitivman vo yon eseye. Telechaje achiv la, depake li sou disk epi enstale siplemantè a:

  • nan Excel 2003 ak pi gran - atravè meni an Sèvis – Add-ons – Apèsi sou lekòl la (Zouti — Add-Ins — Browse)
  • nan Excel 2007 ak pita, atravè File – Opsyon – Add-ons – Ale – Browse (Fichiye — Opsyon Excel — Add-Ins — Ale nan — Browse)

  • Ki sa ki macros, ki kote yo mete kòd macro nan Visual Basic

 

Kite yon Reply