Koordinātu izvēle

Jums ir liels monitors, bet galdi, ar kuriem strādājat, ir vēl lielāki. Un, skatoties pāri ekrānam, meklējot nepieciešamo informāciju, vienmēr ir iespēja “izlīst” acis uz nākamo rindiņu un skatīties nepareizā virzienā. Es pat zinu cilvēkus, kuri šādiem gadījumiem vienmēr tur sev tuvumā koka lineālu, lai to piestiprinātu pie monitora līnijas. Nākotnes tehnoloģijas! 

Un ja pašreizējā rinda un kolonna ir izceltas, kad aktīvā šūna pārvietojas pa lapu? Šāda veida koordinātu atlase:

Labāk nekā lineāls, vai ne?

Lai to īstenotu, ir vairāki dažādas sarežģītības veidi. Katrai metodei ir savi plusi un mīnusi. Apskatīsim tos sīkāk.

1. metode. Skaidrs. Makro, kas izceļ pašreizējo rindu un kolonnu

Acīmredzamākais veids, kā atrisināt mūsu problēmu “uz pieres”, mums ir nepieciešams makro, kas izsekos izmaiņas atlasē uz lapas un atlasīs visu rindu un kolonnu pašreizējā šūnā. Vēlams arī nepieciešamības gadījumā šo funkciju iespējot un atspējot, lai šāda krusta formas atlase netraucētu ievadīt, piemēram, formulas, bet darbotos tikai tad, kad skatāmies sarakstu, meklējot vajadzīgo. informāciju. Tādējādi mēs nonākam pie trim makro (atlasīt, iespējot un atspējot), kas būs jāpievieno lapas modulim.

Atveriet lapu ar tabulu, kurā vēlaties iegūt šādu koordinātu atlasi. Ar peles labo pogu noklikšķiniet uz lapas cilnes un konteksta izvēlnē atlasiet komandu Avota teksts (Avota kods).Jāatveras Visual Basic redaktora logs. Kopējiet tajā šo trīs makro tekstu tekstu:

Dim Coord_Selection As Boolean 'Globālais mainīgais atlasei on/off Sub Selection_On() 'Makro atlasē Coord_Selection = True End Sub Selection_Off() 'Makro izslēgta atlase Coord_Selection = False End Sub 'Galvenā procedūra, kas veic atlasi Private Sub Worksheet (SelectionC) Diapazons) Dim WorkRange kā diapazons Ja Target.Cells.Count > 1 Tad iziet no apakšgrupas, ja ir atlasīta vairāk nekā 1 šūna, iziet. Ja Coord_Selection = False, tad iziet no apakšgrupas "ja atlase ir izslēgta, izejiet no Application.ScreenUpdating = False Set WorkRange = diapazons (" A6:N300") "darba diapazona adrese, kurā ir redzama atlase  

Mainiet darba diapazona adresi uz savu – mūsu izvēle darbosies šajā diapazonā. Pēc tam aizveriet Visual Basic redaktoru un atgriezieties programmā Excel.

Nospiediet īsinājumtaustiņu ALT + F8lai atvērtu logu ar pieejamo makro sarakstu. Makro Selection_On, kā jūs varētu nojaust, ietver koordinātu atlasi pašreizējā lapā un makro Selection_Off – izslēdz to. Tajā pašā logā, noklikšķinot uz pogas parametri (Opcijas) Lai atvieglotu palaišanu, šiem makro varat piešķirt īsinājumtaustiņus.

Šīs metodes priekšrocības:

  • relatīvā ieviešanas vieglums
  • atlase – darbība ir nekaitīga un nekādi nemaina lapas šūnu saturu vai formatējumu, viss paliek kā ir

Šīs metodes mīnusi:

  • šāda atlase nedarbojas pareizi, ja lapā ir sapludinātas šūnas – visas savienojumā iekļautās rindas un kolonnas tiek atlasītas uzreiz
  • ja nejauši nospiedīsiet taustiņu Dzēst, tiks notīrīta ne tikai aktīvā šūna, bet viss atlasītais apgabals, ti, dati tiks izdzēsti no visas rindas un kolonnas

2. metode. Oriģināls. ŠŪNA + nosacījumformatēšanas funkcija

Šī metode, lai gan tai ir pāris trūkumi, man šķiet ļoti eleganta. Lai kaut ko realizētu, izmantojot tikai iebūvētos Excel rīkus, minimāli iedziļināties programmēšanā VBA ir akrobātika 😉

Metodes pamatā ir funkcijas CELL izmantošana, kas var sniegt daudz dažādas informācijas par doto šūnu – augstumu, platumu, rindas kolonnas numuru, skaitļa formātu utt. Šai funkcijai ir divi argumenti:

  • parametra koda vārds, piemēram, "kolonna" vai "rinda"
  • tās šūnas adrese, kurai vēlamies noteikt šī parametra vērtību

Viltība ir tāda, ka otrais arguments nav obligāts. Ja tas nav norādīts, tiek ņemta pašreizējā aktīvā šūna.

Otrs šīs metodes komponents ir nosacījumformatēšana. Šī ārkārtīgi noderīgā Excel funkcija ļauj automātiski formatēt šūnas, ja tās atbilst noteiktiem nosacījumiem. Ja šīs divas idejas apvienojam vienā, mēs iegūstam šādu algoritmu koordinātu atlasei, izmantojot nosacījumu formatējumu:

  1. Mēs izvēlamies savu tabulu, ti, tās šūnas, kurās turpmāk būtu jāparāda koordinātu atlase.
  2. Programmā Excel 2003 un vecākās versijās atveriet izvēlni Formāts — nosacījumformatēšana — formula (Formāts — nosacījumformatēšana — formula). Programmā Excel 2007 un jaunākās versijās noklikšķiniet uz cilnes Sākumlapa (Mājas)poga Nosacījuma formatēšana — izveidojiet kārtulu (Nosacījuma formatēšana — izveidot kārtulu) un izvēlieties kārtulas veidu Izmantojiet formulu, lai noteiktu, kuras šūnas formatēt (Izmantojiet formulu)
  3. Ievadiet formulu mūsu koordinātu izvēlei:

    =VAI(ŠŪNA(“rinda”)=RINDA(A2),ŠŪNA(“kolonna”)=COLUMN(A2))

    =VAI(ŠŪNA(«rinda»)=RINDA(A1),ŠŪNA(«kolonna»)=SLEJA(A1))

    Šī formula pārbauda, ​​vai katras tabulas šūnas kolonnas numurs ir tāds pats kā pašreizējās šūnas kolonnas numurs. Tāpat ar kolonnām. Tādējādi tiks aizpildītas tikai tās šūnas, kurām ir kolonnas numurs vai rindas numurs, kas atbilst pašreizējai šūnai. Un šī ir krusta formas koordinātu atlase, ko mēs vēlamies sasniegt.

  4. prese Ietvars (Formāts) un iestatiet aizpildījuma krāsu.

Viss ir gandrīz gatavs, bet ir viena nianse. Fakts ir tāds, ka Excel neuzskata izmaiņas atlasē par izmaiņām lapā esošajos datos. Un rezultātā tas neizraisa formulu pārrēķinu un nosacītā formatējuma pārkrāsošanu tikai tad, kad mainās aktīvās šūnas pozīcija. Tāpēc lapas modulim pievienosim vienkāršu makro, kas to darīs. Ar peles labo pogu noklikšķiniet uz lapas cilnes un konteksta izvēlnē atlasiet komandu Avota teksts (Avota kods).Jāatveras Visual Basic redaktora logs. Kopējiet tajā šo šī vienkāršā makro tekstu:

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

Tagad, mainoties atlasei, tiks palaists formulas pārrēķināšanas process ar funkciju ŠŪNA nosacītā formatējumā un pārpludiniet pašreizējo rindu un kolonnu.

Šīs metodes priekšrocības:

  • Nosacījuma formatējums nepārkāpj pielāgoto tabulas formatējumu
  • Šī atlases opcija darbojas pareizi ar sapludinātām šūnām.
  • Nav riska dzēst visu datu rindu un kolonnu, nejauši noklikšķinot izdzēst.
  • Makro tiek izmantoti minimāli

Šīs metodes mīnusi:

  • Nosacītā formatējuma formula jāievada manuāli.
  • Nav ātra veida, kā iespējot/atspējot šādu formatējumu – tas vienmēr ir iespējots, līdz noteikums tiek dzēsts.

3. metode. Optimāls. Nosacījuma formatēšana + makro

Zelta vidusceļš. Mēs izmantojam mehānismu atlases izsekošanai lapā, izmantojot makro no 1. metodes, un pievienojam tai drošu izcelšanu, izmantojot nosacīto formatējumu no 2. metodes.

Atveriet lapu ar tabulu, kurā vēlaties iegūt šādu koordinātu atlasi. Ar peles labo pogu noklikšķiniet uz lapas cilnes un konteksta izvēlnē atlasiet komandu Avota teksts (Avota kods).Jāatveras Visual Basic redaktora logs. Kopējiet tajā šo trīs makro tekstu tekstu:

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 Target As Range) Dim WorkRange kā diapazons, CrossRange WorkRange kā diapazons, CrossRange WorkRange kā diapazons7 'адрес рабочего диапазона с таблицей If Target.Count > 300 then Exit Sub If Coord_Selection = False then WorkRange.FormatConditions.Delete Exit Sub End If Application.ScreenUpdating = False Ja nekrustojas(CrossTarget, Nav WorkRangeTarget) WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex =1di Target .Dzēst Beigas Ja Beigas Apakš  

Neaizmirstiet nomainīt darba diapazona adresi uz tabulas adresi. Aizveriet Visual Basic redaktoru un atgriezieties programmā Excel. Lai izmantotu pievienotos makro, nospiediet īsinājumtaustiņu ALT + F8  un rīkojieties tāpat kā 1. metodē. 

4. metode. Skaisti. SekojietCellPointer papildinājumam

Excel MVP Jans Karels Pieterse no Nīderlandes dāvina bezmaksas papildinājumu savā vietnē SekojietCellPointer(36Kb), kas atrisina to pašu problēmu, zīmējot grafiskās bultiņu līnijas, izmantojot makro, lai iezīmētu pašreizējo rindu un kolonnu:

 

Jauks risinājums. Ne bez kļūmēm vietām, bet noteikti ir vērts mēģināt. Lejupielādējiet arhīvu, izsaiņojiet to diskā un instalējiet papildinājumu:

  • programmā Excel 2003 un vecākās versijās — izmantojot izvēlni Pakalpojums – Papildinājumi – Pārskats (Rīki — pievienojumprogrammas — pārlūkošana)
  • programmā Excel 2007 un jaunākās versijās, izmantojot Fails – Opcijas – Papildinājumi – Iet – Pārlūkot (Fails — Excel opcijas — pievienojumprogrammas — Iet uz — Pārlūkot)

  • Kas ir makro, kur ievietot makro kodu programmā Visual Basic

 

Atstāj atbildi