Koordinoni përzgjedhjen

Ju keni një monitor të madh, por tavolinat me të cilat punoni janë edhe më të mëdha. Dhe, duke parë mbi ekran në kërkim të informacionit të nevojshëm, ka gjithmonë një shans për të "rrëshqitur" sytë tuaj në rreshtin tjetër dhe të shikoni në drejtimin e gabuar. Madje njoh njerëz që për raste të tilla mbajnë gjithmonë pranë vetes një vizore druri për ta ngjitur në vijën e monitorit. Teknologjitë e së ardhmes! 

Dhe nëse rreshti dhe kolona aktuale theksohen kur qeliza aktive lëviz nëpër fletë? Një lloj përzgjedhjeje koordinative si kjo:

Më mirë se një sundimtar, apo jo?

Ka disa mënyra me kompleksitet të ndryshëm për ta zbatuar këtë. Secila metodë ka të mirat dhe të këqijat e saj. Le t'i hedhim një vështrim në detaje.

Metoda 1. E dukshme. Makro që nxjerr në pah rreshtin dhe kolonën aktuale

Mënyra më e dukshme për të zgjidhur problemin tonë "në ballë" - na duhet një makro që do të gjurmojë ndryshimin në përzgjedhjen në fletë dhe do të zgjedhë të gjithë rreshtin dhe kolonën për qelizën aktuale. Është gjithashtu e dëshirueshme që të jemi në gjendje të aktivizojmë dhe çaktivizojmë këtë funksion nëse është e nevojshme, në mënyrë që një përzgjedhje e tillë në formë kryqi të mos na pengojë të futim, për shembull, formula, por funksionon vetëm kur shikojmë listën në kërkim të nevojave. informacion. Kjo na sjell te tre makrot (zgjidhni, aktivizoni dhe çaktivizoni) që do të duhet të shtohen në modulin e fletës.

Hapni një fletë me një tabelë në të cilën dëshironi të merrni një përzgjedhje të tillë të koordinatave. Klikoni me të djathtën në skedën e fletës dhe zgjidhni komandën nga menyja e kontekstit Teksti burimor (Kodi i burimit).Dritarja e Redaktuesit të Visual Basic duhet të hapet. Kopjojeni këtë tekst të këtyre tre makrove në të:

Dim Coord_Selection As Boolean 'Ndryshore globale për përzgjedhjen ndezur/çaktivizuar Sub Selection_On() 'Makro në përzgjedhje Coord_Selection = Fundi i vërtetë Sub Selection_Off() 'Makro off përzgjedhje Coord_Selection = False Fund Sub 'Procedura kryesore që kryen përzgjedhjen Nën-Private NënFletë pune_SelectionChange(ByVal Gama) Dim Work Range si Range Nëse Target.Cells.Count > 1 Pastaj Dil Sub 'nëse zgjidhet më shumë se 1 qelizë, dil nëse Coord_Selection = False Pastaj Dil Sub 'nëse përzgjedhja është joaktiv, dil Application.ScreenUpdating = False Set WorkRange = Range ("A6:N300") 'adresa e gamës së punës brenda së cilës është e dukshme zgjedhja  

Ndryshoni adresën e gamës së punës në adresën tuaj - është brenda këtij diapazoni që zgjedhja jonë do të funksionojë. Pastaj mbyllni Visual Basic Editor dhe kthehuni në Excel.

Shtypni shkurtoren e tastierës ALT + F8për të hapur një dritare me një listë të makrove të disponueshme. Makro Zgjedhja_Aktiv, siç mund ta merrni me mend, përfshin zgjedhjen e koordinatave në fletën aktuale dhe makro Zgjedhja_Off – e fiket. Në të njëjtën dritare, duke klikuar butonin Parameters (Opsione) Ju mund të caktoni shkurtore të tastierës për këto makro për nisje të lehtë.

Përparësitë e kësaj metode:

  • lehtësia relative e zbatimit
  • përzgjedhja - operacioni është i padëmshëm dhe nuk ndryshon përmbajtjen ose formatimin e qelizave të fletës në asnjë mënyrë, gjithçka mbetet ashtu siç është

Disavantazhet e kësaj metode:

  • një përzgjedhje e tillë nuk funksionon siç duhet nëse ka qeliza të bashkuara në fletë - të gjitha rreshtat dhe kolonat e përfshira në bashkim zgjidhen menjëherë
  • nëse shtypni aksidentalisht butonin Delete, atëherë do të pastrohet jo vetëm qeliza aktive, por e gjithë zona e zgjedhur, dmth fshini të dhënat nga i gjithë rreshti dhe kolona.

Metoda 2. Origjinali. CELL + Funksioni i Formatimit të Kushtëzuar

Kjo metodë, megjithëse ka disa të meta, më duket shumë elegante. Për të zbatuar diçka duke përdorur vetëm mjetet e integruara të Excel, futja minimalisht në programim në VBA është aerobatikë 😉

Metoda bazohet në përdorimin e funksionit CELL, i cili mund të japë shumë informacione të ndryshme për një qelizë të caktuar – lartësia, gjerësia, numri rresht-kolona, ​​formati i numrave, etj. Ky funksion ka dy argumente:

  • një fjalë kodi për parametrin, si "kolona" ose "rresht"
  • adresa e qelizës për të cilën duam të përcaktojmë vlerën e këtij parametri

Truku është se argumenti i dytë është fakultativ. Nëse nuk specifikohet, atëherë merret qeliza aktuale aktive.

Komponenti i dytë i kësaj metode është formatimi i kushtëzuar. Kjo veçori jashtëzakonisht e dobishme e Excel ju lejon të formatoni automatikisht qelizat nëse plotësojnë kushtet e specifikuara. Nëse i kombinojmë këto dy ide në një, marrim algoritmin e mëposhtëm për zbatimin e zgjedhjes sonë të koordinatave përmes formatimit të kushtëzuar:

  1. Ne zgjedhim tabelën tonë, gjegjësisht ato qeliza në të cilat duhet të shfaqet zgjedhja e koordinatave në të ardhmen.
  2. Në Excel 2003 dhe më të vjetër, hapni menunë Format – Formatimi i kushtëzuar – Formula (Format - Formatimi i kushtëzuar - Formula). Në Excel 2007 dhe më të reja - klikoni në skedën Fillimi (Shtëpi)buton Formatimi i kushtëzuar - Krijo rregull (Formatimi i kushtëzuar - Krijo rregull) dhe zgjidhni llojin e rregullit Përdorni një formulë për të përcaktuar se cilat qeliza të formatoni (Përdor formulën)
  3. Futni formulën për zgjedhjen tonë të koordinatave:

    =OR(QELIZË(“rresht”)=ROW(A2),CELL(“kolona”)=KOLONA(A2))

    =OR(QELIZË(«rresht»)=ROW(A1),CELL(«kolona»)=KOLONA(A1))

    Kjo formulë kontrollon nëse numri i kolonës së secilës qelizë në tabelë është i njëjtë me numrin e kolonës së qelizës aktuale. Po kështu me kolonat. Kështu, vetëm ato qeliza që kanë një numër kolone ose një numër rreshti që përputhet me qelizën aktuale do të plotësohen. Dhe kjo është përzgjedhja e koordinatave në formë kryqi që duam të arrijmë.

  4. Klikoni butonin Strukturë (format) dhe vendosni ngjyrën e mbushjes.

Gjithçka është pothuajse gati, por ka një nuancë. Fakti është se Excel nuk e konsideron një ndryshim në përzgjedhje si një ndryshim në të dhënat në fletë. Dhe, si rezultat, nuk shkakton rillogaritjen e formulave dhe ringjyrosjen e formatimit të kushtëzuar vetëm kur ndryshon pozicioni i qelizës aktive. Prandaj, le të shtojmë një makro të thjeshtë në modulin e fletës që do ta bëjë këtë. Klikoni me të djathtën në skedën e fletës dhe zgjidhni komandën nga menyja e kontekstit Teksti burimor (Kodi i burimit).Dritarja e Redaktuesit të Visual Basic duhet të hapet. Kopjojeni këtë tekst të kësaj makro të thjeshtë në të:

Nën-Fletë Pune Private_SelectionChange(ByVal Target As Range) ActiveCell.Llogarit në fund në fund  

Tani, kur të ndryshojë përzgjedhja, do të nisë procesi i rillogaritjes së formulës me funksionin QELIZA në formatimin e kushtëzuar dhe vërshoni rreshtin dhe kolonën aktuale.

Përparësitë e kësaj metode:

  • Formatimi i kushtëzuar nuk e prish formatimin e personalizuar të tabelës
  • Ky opsion përzgjedhjeje funksionon saktë me qelizat e bashkuara.
  • Asnjë rrezik i fshirjes së një rreshti dhe kolone të tërë të të dhënave në klikimin aksidental Fshij.
  • Makrot përdoren minimalisht

Disavantazhet e kësaj metode:

  • Formula për formatimin e kushtëzuar duhet të futet manualisht.
  • Nuk ka asnjë mënyrë të shpejtë për të aktivizuar/çaktivizuar një formatim të tillë - ai është gjithmonë i aktivizuar derisa rregulli të fshihet.

Metoda 3. Optimale. Formatimi i kushtëzuar + makro

Mesatarja e artë. Ne përdorim mekanizmin për gjurmimin e përzgjedhjes në fletë duke përdorur makro nga metoda-1 dhe shtojmë nënvizim të sigurt në të duke përdorur formatimin e kushtëzuar nga metoda-2.

Hapni një fletë me një tabelë në të cilën dëshironi të merrni një përzgjedhje të tillë të koordinatave. Klikoni me të djathtën në skedën e fletës dhe zgjidhni komandën nga menyja e kontekstit Teksti burimor (Kodi i burimit).Dritarja e Redaktuesit të Visual Basic duhet të hapet. Kopjojeni këtë tekst të këtyre tre makrove në të:

Zgjedhja e zbehtë e nën-përzgjedhjes logjike si nën-përzgjedhje_boolean() Zgjedhja_koordinale = Nën-përzgjedhja e fundit e vërtetë e nën-përzgjedhjes_Off() Zgjedhja e koordinimit = Fundi i rremë Nën-Fletë pune nën-private_SelectionChange(ByVal Target si Range) Dim Work Range si Range, CrossRange si Range Set:A"7" 'adresa рабочего диапазона с таблицей If Target.Count > 300 Pastaj Dil Sub If Coord_Selection = False Pastaj WorkRange.FormatConditions.Delete Exit Sub End If Application.ScreenUpdating = False If Not Intersect(Target, Work Range) Nuk është e kryqëzuar WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions TataColorIndergFormat. .Fshi End If End Sub  

Mos harroni të ndryshoni adresën e diapazonit të punës në adresën tuaj të tabelës. Mbyllni redaktorin e Visual Basic dhe kthehuni në Excel. Për të përdorur makrot e shtuara, shtypni shkurtoren e tastierës ALT + F8  dhe vazhdoni në të njëjtën mënyrë si metoda 1. 

Metoda 4. E bukur. Shtesa FollowCellPointer

MVP i Excel, Jan Karel Pieterse nga Holanda jep një shtesë falas në faqen e tij të internetit Ndiqni CellPointer(36 Kb), i cili zgjidh të njëjtin problem duke vizatuar linja me shigjeta grafike duke përdorur makro për të theksuar rreshtin dhe kolonën aktuale:

 

Zgjidhje e bukur. Jo pa defekte në vende, por patjetër që ia vlen të provohet. Shkarkoni arkivin, shpaketoni atë në disk dhe instaloni shtesën:

  • në Excel 2003 dhe më të vjetër – përmes menysë Shërbimi – Shtesa – Përmbledhje (Mjetet - Shtesat - Shfleto)
  • në Excel 2007 dhe më vonë, përmes Skedar – Opsione – Shtesa – Shko – Shfleto (Skedar - Opsione të Excel - Shtesa - Shko te - Shfleto)

  • Çfarë janë makro, ku të futni kodin makro në Visual Basic

 

Lini një Përgjigju