Izbira koordinat

Imate velik monitor, vendar so mize, s katerimi delate, še večje. In če pogledate čez zaslon v iskanju potrebnih informacij, vedno obstaja možnost, da "zdrsnete" z očmi v naslednjo vrstico in pogledate v napačno smer. Poznam celo ljudi, ki imajo za take priložnosti vedno pri sebi leseno ravnilo, da ga pritrdijo na črto na monitorju. Tehnologije prihodnosti! 

In če sta trenutna vrstica in stolpec označena, ko se aktivna celica premika po listu? Nekakšen izbor koordinat, kot je ta:

Bolje kot ravnilo, kajne?

Za izvedbo tega obstaja več načinov različnih zahtevnosti. Vsaka metoda ima svoje prednosti in slabosti. Oglejmo si jih podrobneje.

Metoda 1. Očitno. Makro, ki poudari trenutno vrstico in stolpec

Najbolj očiten način za rešitev našega problema "na čelu" - potrebujemo makro, ki bo spremljal spremembo izbora na listu in izbral celotno vrstico in stolpec za trenutno celico. Zaželeno je tudi, da lahko to funkcijo omogočimo in onemogočimo, če je treba, da nam tako križna izbira ne onemogoča vnosa na primer formul, ampak deluje le, ko listamo po seznamu v iskanju potrebnih informacije. To nas pripelje do treh makrov (izberi, omogoči in onemogoči), ki jih bo treba dodati v modul lista.

Odprite list s tabelo, v kateri želite dobiti takšno koordinatno izbiro. Z desno miškino tipko kliknite zavihek lista in v kontekstnem meniju izberite ukaz Izvorno besedilo (Izvorna koda).Odpreti bi se moralo okno urejevalnika Visual Basic Editor. Vanj kopirajte to besedilo teh treh makrov:

Dim Coord_Selection As Boolean 'Globalna spremenljivka za vklop/izklop izbire Sub Selection_On() 'Makro pri izbiri Coord_Selection = True End Sub Selection_Off() 'Makro izklop izbire Coord_Selection = False End Sub 'Glavni postopek, ki izvaja izbiro Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim WorkRange As Range If Target.Cells.Count > 1 Then Exit Sub 'če je izbrana več kot 1 celica, exit If Coord_Selection = False Then Exit Sub 'če je izbor izklopljen, zapustite Application.ScreenUpdating = False Set WorkRange = Range (" A6:N300") 'naslov delovnega območja, znotraj katerega je vidna izbira  

Spremenite naslov delovnega območja na svojega – znotraj tega obsega bo naš izbor deloval. Nato zaprite urejevalnik Visual Basic in se vrnite v Excel.

Pritisnite bližnjico na tipkovnici ALT + F8da odprete okno s seznamom razpoložljivih makrov. Makro Selection_On, kot morda ugibate, vključuje izbiro koordinat na trenutnem listu in makro Selection_Off – izklopi. V istem oknu s klikom na gumb parametri (Opcije) Tem makrom lahko dodelite bližnjice na tipkovnici za lažji zagon.

Prednosti te metode:

  • relativna enostavnost izvedbe
  • izbor – operacija je neškodljiva in na noben način ne spremeni vsebine ali oblikovanja celic lista, vse ostane tako kot je

Slabosti te metode:

  • takšno izbiranje ne deluje pravilno, če so na listu združene celice – vse vrstice in stolpci, vključeni v združitev, so izbrani hkrati
  • če pomotoma pritisnete tipko Delete, se ne počisti samo aktivna celica, temveč celotno izbrano območje, tj. izbrišejo se podatki iz celotne vrstice in stolpca

Metoda 2. Izvirnik. CELL + Funkcija pogojnega oblikovanja

Ta metoda, čeprav ima nekaj pomanjkljivosti, se mi zdi zelo elegantna. Implementirati nekaj samo z vgrajenimi Excelovimi orodji, je minimalno spuščanje v programiranje v VBA akrobatika 😉

Metoda temelji na uporabi funkcije CELL, ki lahko poda veliko različnih informacij o določeni celici – višina, širina, številka vrstice-stolpca, oblika številke itd. Ta funkcija ima dva argumenta:

  • kodna beseda za parameter, kot je "stolpec" ali "vrstica"
  • naslov celice, za katero želimo določiti vrednost tega parametra

Trik je v tem, da je drugi argument neobvezen. Če ni podana, se zavzame trenutna aktivna celica.

Druga komponenta te metode je pogojno oblikovanje. Ta izjemno uporabna Excelova funkcija vam omogoča samodejno oblikovanje celic, če izpolnjujejo določene pogoje. Če ti dve ideji združimo v eno, dobimo naslednji algoritem za izvajanje naše koordinatne izbire s pogojnim oblikovanjem:

  1. Izberemo našo tabelo, torej tiste celice, v katerih naj bo v prihodnje prikazan izbor koordinat.
  2. V Excelu 2003 in starejših odprite meni Oblika – Pogojno oblikovanje – Formula (Oblika — Pogojno oblikovanje — Formula). V Excelu 2007 in novejših – kliknite zavihek Domov (Domov)Gumb Pogojno oblikovanje – Ustvari pravilo (Pogojno oblikovanje — Ustvari pravilo) in izberite vrsto pravila S formulo določite, katere celice želite formatirati (Uporabi formulo)
  3. Vnesite formulo za izbiro naše koordinate:

    =ALI(CELICA(“vrstica”)=VRSTICA(A2),CELICA(“stolpec”)=STOLPEC(A2))

    =ALI(CELICA(«vrstica»)=VRSTICA(A1),CELICA(»stolpec»)=STOLPEC(A1))

    Ta formula preveri, ali je številka stolpca vsake celice v tabeli enaka številki stolpca trenutne celice. Podobno s stolpci. Tako bodo zapolnjene samo tiste celice, ki imajo bodisi številko stolpca ali številko vrstice, ki se ujema s trenutno celico. In to je koordinatni izbor v obliki križa, ki ga želimo doseči.

  4. pritisnite Okvirni (oblika) in nastavite barvo polnila.

Vse je skoraj pripravljeno, vendar obstaja en odtenek. Dejstvo je, da Excel spremembe izbire ne šteje kot spremembo podatkov na listu. In posledično ne sproži preračunavanja formul in prebarvanja pogojnega oblikovanja le, ko se spremeni položaj aktivne celice. Zato dodajmo preprost makro v modul lista, ki bo to naredil. Z desno miškino tipko kliknite zavihek lista in v kontekstnem meniju izberite ukaz Izvorno besedilo (Izvorna koda).Odpreti bi se moralo okno urejevalnika Visual Basic Editor. Vanj kopirajte to besedilo tega preprostega makra:

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

Zdaj, ko se izbira spremeni, se bo sprožil postopek ponovnega izračuna formule s funkcijo CELICA v pogojnem oblikovanju in poplavi trenutno vrstico in stolpec.

Prednosti te metode:

  • Pogojno oblikovanje ne prekine oblikovanja tabele po meri
  • Ta možnost izbire deluje pravilno s spojenimi celicami.
  • Brez tveganja, da bi ob nenamernem kliku izbrisali celotno vrstico in stolpec podatkov Brisanje.
  • Makri so minimalno uporabljeni

Slabosti te metode:

  • Formulo za pogojno oblikovanje morate vnesti ročno.
  • Takšnega oblikovanja ni mogoče hitro omogočiti/onemogočiti – vedno je omogočeno, dokler pravilo ni izbrisano.

Metoda 3. Optimalno. Pogojno oblikovanje + makri

Zlata sredina. Uporabljamo mehanizem za sledenje izboru na listu z uporabo makrov iz metode 1 in ji dodamo varno označevanje s pogojnim oblikovanjem iz metode 2.

Odprite list s tabelo, v kateri želite dobiti takšno koordinatno izbiro. Z desno miškino tipko kliknite zavihek lista in v kontekstnem meniju izberite ukaz Izvorno besedilo (Izvorna koda).Odpreti bi se moralo okno urejevalnika Visual Basic Editor. Vanj kopirajte to besedilo teh treh makrov:

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 As Range, CrossRange As Range Set WorkRange = Range("A7:N300") 'адрес рабочего диапазона с таблицей If Target.Count > 1 Then Exit Sub If Coord_Selection = False Then WorkRange.FormatConditions.Delete Exit Sub End If Application.ScreenUpdating = False If Not Intersect(Target, WorkRange) Is Nothing Then Set CrossRange = Intersect( WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex = 33 Target.FormatConditions .Delete End If End Sub  

Ne pozabite spremeniti naslova delovnega območja v naslov tabele. Zaprite urejevalnik Visual Basic in se vrnite v Excel. Če želite uporabiti dodane makre, pritisnite bližnjico na tipkovnici ALT + F8  in nadaljujte na enak način kot pri 1. metodi. 

Metoda 4. Lepa. Dodatek FollowCellPointer

Excel MVP Jan Karel Pieterse iz Nizozemske podarja brezplačen dodatek na svoji spletni strani FollowCellPointer(36Kb), ki rešuje isto težavo z risanjem grafičnih puščičnih črt z uporabo makrov za označevanje trenutne vrstice in stolpca:

 

Lepa rešitev. Ne brez napak na mestih, vendar je vsekakor vredno poskusiti. Prenesite arhiv, ga razpakirajte na disk in namestite dodatek:

  • v Excelu 2003 in starejših – preko menija Storitev – Dodatki – Pregled (Orodja — Dodatki — Prebrskaj)
  • v Excelu 2007 in novejših, prek Datoteka – Možnosti – Dodatki – Pojdi – Prebrskaj (Datoteka — Možnosti Excela — Dodatki — Pojdi na — Prebrskaj)

  • Kaj so makri, kam vstaviti kodo makra v Visual Basicu

 

Pustite Odgovori