Sadržaj
U ovom vodiču naučit ćete 3 različita načina za dinamičko isticanje retka i stupca odabrane ćelije u Excelu.
Kada dugo gledate veliki radni list, može na kraju izgubiti pojam o tome gdje se nalazi pokazivač i koje podatke gledate. Kako biste točno znali gdje se nalazite u svakom trenutku, neka Excel automatski označi aktivni redak i stupac umjesto vas! Naravno, isticanje bi trebalo biti dinamično i mijenjati se svaki put kada odaberete drugu ćeliju. U biti, ovo je ono što želimo postići:
Automatsko označavanje retka i stupca odabrane ćelije pomoću VBA
Ovo primjer pokazuje kako možete istaknuti aktivni stupac i red programski pomoću VBA. Za ovo ćemo koristiti događaj SelectionChange objekta Worksheet .
Prvo, očistite boju pozadine svih ćelija na listu postavljanjem
Prilagodba koda
Ako želite prilagoditi kod svojim potrebama, ovi mali savjeti mogu vam dobro doći:
- Naš primjer koda koristi dvije različite boje prikazane na gornjem gifu - indeks boje 38 za red i 24 za stupac. Da biste promijenili boju isticanja , samo ih zamijenite bilo kojim ColorIndex kodom po svom izboru.
- Da bi redak i stupac bili obojeni na isti način , koristite isti broj indeksa boje za oba.
- Da biste istaknuli samo aktivni red , uklonite ili komentirajte ovaj redak: .EntireColumn.Interior.ColorIndex = 24
- Da biste istaknuli samo aktivni stupac , uklonite ili komentirajte ovaj redak: .EntireRow.Interior.ColorIndex = 38
Kako dodati kôd na svoj radni list
Da bi se kod tiho izvršavao u pozadini određenog radnog lista, trebate ga umetnuti u prozor koda koji pripada tom radnom listu, a ne u normalni modul. Da biste to učinili, izvršite ove korake:
- U radnoj knjizi pritisnite Alt + F11 da biste došli do VBA uređivača.
- U Project Exploreru s lijeve strane, vidjet ćete popis svih otvorenih radnih knjiga i njihovih radnih listova. Ako ga ne vidite, upotrijebite prečac Ctrl + R da prikažete prozor Project Explorera.
- Pronađite ciljnu radnu knjigu. U svom Microsoft ExceluMapu Objects dvaput kliknite na list na koji želite primijeniti isticanje. U ovom primjeru, to je List 1 .
- U prozoru koda s desne strane zalijepite gornji kod.
- Spremite svoju datoteku kao Radna knjiga s omogućenim makroima (.xlsm).
Prednosti : sve se radi u pozadini; nisu potrebne prilagodbe/prilagodbe na strani korisnika; radi u svim verzijama programa Excel.
Nedostaci : postoje dvije bitne mane koje ovu tehniku čine neprimjenjivom pod određenim okolnostima:
- Kôd briše pozadinu boje svih ćelija na radnom listu. Ako imate ćelije u boji, nemojte koristiti ovo rješenje jer će vaše prilagođeno oblikovanje biti izgubljeno.
- Izvršavanje ovog koda blokira funkciju poništavanja na listu, i nećete moći poništiti pogrešnu radnju pritiskom na Ctrl + Z .
Označite aktivni redak i stupac bez VBA
Najbolje što možete postići da označite odabrani redak i /ili stupac bez VBA je Excelovo uvjetno oblikovanje. Da biste ga postavili, provedite ove korake:
- Odaberite svoj skup podataka u kojem treba biti označeno.
- Na kartici Početna , u
Stilovi kliknite Novo pravilo . - U dijaloškom okviru Novo pravilo oblikovanja odaberite Upotrijebi formulu za određivanje ćelija format .
- U vrijednostima Format gdje je ova formulais true polje, unesite jednu od ovih formula:
Za označavanje aktivnog retka :
=CELL("row")=ROW()
Za označavanje aktivnog stupca :
=CELL("col")=COLUMN()
Za isticanje aktivnog retka i stupca :
=OR(CELL("row")=ROW(), CELL("col")= COLUMN())
Sve formule koriste funkciju CELL za vrati broj retka/stupca odabrane ćelije.
- Kliknite gumb Format , prebacite se na karticu Fill i odaberite boju koju želite.
- Kliknite OK dvaput za zatvaranje oba dijaloška prozora.
Ako smatrate da su vam potrebne detaljnije upute, pogledajte Kako stvoriti pravilo uvjetnog oblikovanja temeljeno na formuli.
Za ovaj primjer, odlučili smo se za ILI formula za sjenčanje stupca i retka istom bojom. To zahtijeva manje posla i prikladno je za većinu slučajeva.
Nažalost, ovo rješenje nije tako dobro kao ono VBA jer zahtijeva ručno ponovno izračunavanje lista (pritiskom na tipku F9). Prema zadanim postavkama, Excel ponovno izračunava radni list tek nakon unosa novih podataka ili uređivanja postojećeg, ali ne i kada se promijeni odabir. Dakle, odaberete drugu ćeliju - ništa se ne događa. Pritisnite F9 - list se osvježava, formula se ponovno izračunava, a isticanje se ažurira.
Da bi se radni list automatski ponovno izračunao kad god dođe do događaja SelectionChange dogodi, možete smjestiti ovaj jednostavni VBA kod u modul koda vašeg ciljnog lista kao što je objašnjeno uprethodni primjer:
Private Sub Worksheet_SelectionChange( ByVal Target As Range) Target.Calculate End SubKôd prisiljava odabrani raspon/ćeliju na ponovni izračun, što zauzvrat prisiljava funkciju CELL da ažurira i uvjetno oblikovanje odražava promjenu.
Prednosti : za razliku od prethodne metode, ova ne utječe na postojeće oblikovanje koje ste ručno primijenili.
Nedostaci : mogu pogoršati performanse programa Excel.
- Da bi uvjetno oblikovanje radilo, trebate prisiliti Excel da ponovno izračuna formulu pri svakoj promjeni odabira (bilo ručno tipkom F9 ili automatski pomoću VBA). Prisilni ponovni izračuni mogu usporiti vaš Excel. Budući da naš kod ponovno izračunava odabir, a ne cijeli list, negativan učinak će najvjerojatnije biti vidljiv samo na stvarno velikim i složenim radnim knjigama.
- Budući da je funkcija CELL dostupna u programu Excel 2007 i novijim, metoda neće ne radi u ranijim verzijama.
Istaknite odabrani redak i stupac pomoću uvjetnog oblikovanja i VBA
U slučaju da prethodna metoda znatno usporava vašu radnu knjigu, zadatku možete pristupiti drugačije - umjesto ponovnog izračuna radnog lista pri svakom potezu korisnika, dohvatite broj aktivnog retka/stupca uz pomoć VBA, a zatim poslužite taj broj funkciji ROW() ili COLUMN() pomoću formula uvjetnog oblikovanja.
Za postići ovo,evo koraka koje trebate slijediti:
- Dodajte novi prazan list svojoj radnoj knjizi i nazovite ga Pomoćni list . Jedina svrha ovog lista je pohraniti dva broja koji predstavljaju redak i stupac koji sadrže odabranu ćeliju, tako da kasnije možete sigurno sakriti list.
- Umetnite donji VBA u prozor koda radnog lista gdje želite implementirati isticanje. Za detaljne upute pogledajte naš prvi primjer. Private Sub Worksheet_SelectionChange( ByVal Target As Range) Application.ScreenUpdating = False Worksheets( "Helper Sheet" ).Cells(2, 1) = Target.Row Worksheets( "Helper Sheet" ).Cells(2, 2) = Target.Column Application.ScreenUpdating = True End Sub
Gornji kod postavlja koordinate aktivnog retka i stupca na list pod nazivom "Helper Sheet". Ako ste svoj list nazvali drugačije u koraku 1, promijenite naziv radnog lista u kodu u skladu s tim. Broj retka upisuje se u A2, a broj stupca u B2.
- U ciljnom radnom listu odaberite cijeli skup podataka i izradite pravilo uvjetnog oblikovanja pomoću donjih formula. Smjernice korak po korak navedene su u gornjem primjeru.
A sada, pokrijmo detaljno tri glavna slučaja upotrebe.
Kako istaknuti aktivni red
Da biste istaknuli red u kojem se trenutno nalazi vaš kursor, postavite pravilo uvjetnog oblikovanja s ovimformula:
=ROW()='Helper Sheet'!$A$2
Kao rezultat, korisnik može jasno vidjeti koji je red trenutno odabran:
Kako istaknuti aktivni stupac
Da biste istaknuli odabrani stupac, unesite broj stupca u funkciju COLUMN pomoću ove formule:
=COLUMN()='Helper Sheet'!$B$2
Sada vam istaknuti stupac omogućuje udobno i lako čitanje okomitih podataka usredotočujući se u potpunosti na njih.
Kako istaknuti aktivni redak i stupac
Da bi odabrani redak i stupac bili automatski osjenčani istom bojom, kombinirajte funkcije ROW() i COLUMN() u jednu formulu:
=OR(ROW()='Helper Sheet'!$A$2, COLUMN()='Helper Sheet'!$B$2)
Relevantni podaci odmah se stavljaju u fokus, tako da možete izbjeći njihovo pogrešno čitanje.
Prednosti : optimizirana izvedba; radi u svim verzijama programa Excel
Nedostaci : najdulje postavljanje
Tako se u programu Excel ističe stupac i red odabrane ćelije. Zahvaljujem vam na čitanju i veselim se što ćemo vas vidjeti na našem blogu sljedeći tjedan!
Radna knjiga za vježbe za preuzimanje
Isticanje aktivnog retka i stupca (.xlsm datoteka)