Koordinaattien valinta

Sinulla on iso näyttö, mutta pöydät, joiden kanssa työskentelet, ovat vielä suurempia. Ja kun katsot näytön yli etsiessään tarvittavaa tietoa, on aina mahdollisuus "liisata" silmäsi seuraavalle riville ja katsoa väärään suuntaan. Tiedän jopa ihmisiä, jotka pitävät tällaisia ​​tilanteita varten aina lähellä puista viivainta kiinnittääkseen sen näytön viivaan. Tulevaisuuden teknologiat! 

Ja jos nykyinen rivi ja sarake korostetaan aktiivisen solun liikkuessa arkin poikki? Tällainen koordinaattivalinta:

Parempi kuin hallitsija, eikö niin?

Tämän toteuttamiseksi on useita eri monimutkaisia ​​tapoja. Jokaisella menetelmällä on hyvät ja huonot puolensa. Katsotaanpa niitä yksityiskohtaisesti.

Menetelmä 1. Ilmeinen. Makro, joka korostaa nykyisen rivin ja sarakkeen

Ilmeisin tapa ratkaista ongelmamme "otsassa" - tarvitsemme makron, joka seuraa arkin valinnan muutosta ja valitsee koko rivin ja sarakkeen nykyiselle solulle. On myös toivottavaa, että tämä toiminto voidaan tarvittaessa ottaa käyttöön ja poistaa käytöstä, jotta tällainen ristin muotoinen valinta ei estä syömästä esimerkiksi kaavoja, vaan toimii vain, kun katsomme luetteloa läpi etsiessään tarvittavia tiedot. Tämä vie meidät kolmeen makroon (valitse, ota käyttöön ja poista käytöstä), jotka on lisättävä taulukkomoduuliin.

Avaa taulukko, jossa on taulukko, josta haluat saada tällaisen koordinaattivalinnan. Napsauta hiiren kakkospainikkeella arkkivälilehteä ja valitse komento pikavalikosta Lähdeteksti (Lähdekoodi).Visual Basic Editor -ikkunan pitäisi avautua. Kopioi siihen tämä näiden kolmen makron teksti:

Dim Coord_Selection As Boolen 'Maailmanlaajuinen muuttuja valinnalle on/off Sub Selection_On() 'Makro valinnassa Coord_Selection = Tosi loppu Sub Selection_Off() 'Makro pois valinta Coord_Selection = Väärän pään ala 'Päämenettely, joka suorittaa valinnan Private Sub Worksheet (SelectionC) Alue) Dim WorkRange As Range Jos Target.Cells.Count > 1 sitten Exit Sub 'jos valittuna on enemmän kuin 1 solu, poistu Jos Coord_Selection = False, sitten Exit Sub', jos valinta on pois päältä, poistu Application.ScreenUpdating = False Aseta WorkRange = Range (" A6:N300") 'työalueen osoite, jolla valinta näkyy  

Muuta työalueen osoite omaksi - tällä alueella valintamme toimii. Sulje sitten Visual Basic Editor ja palaa Exceliin.

Paina pikanäppäintä ALT + F8avataksesi ikkunan, jossa on luettelo käytettävissä olevista makroista. Makro Selection_On, kuten saatat arvata, sisältää koordinaattien valinnan nykyisellä taulukolla ja makron Valinta_pois – sammuttaa sen. Samassa ikkunassa napsauttamalla painiketta parametrit (Vaihtoehdot) Voit määrittää näihin makroihin pikanäppäimiä käynnistämisen helpottamiseksi.

Tämän menetelmän edut:

  • toteutuksen suhteellinen helppous
  • valinta – toiminta on vaaratonta eikä muuta arkin solujen sisältöä tai muotoilua millään tavalla, kaikki pysyy entisellään

Tämän menetelmän haitat:

  • tällainen valinta ei toimi oikein, jos taulukossa on yhdistettyjä soluja – kaikki yhdistämiseen sisältyvät rivit ja sarakkeet valitaan kerralla
  • jos painat vahingossa Delete-näppäintä, ei vain aktiivinen solu tyhjennetä, vaan koko valittu alue, eli tiedot poistetaan koko riviltä ja sarakkeelta

Menetelmä 2. Alkuperäinen. SOLU + ehdollinen muotoilutoiminto

Tämä menetelmä vaikuttaa minusta erittäin tyylikkäältä, vaikka sillä on pari haittaa. Toteuttaaksesi jotain vain sisäänrakennetuilla Excel-työkaluilla, VBA:ssa ohjelmointiin pääseminen minimaalisesti on taitolentoa 😉

Menetelmä perustuu CELL-funktion käyttöön, joka voi antaa annetusta solusta paljon erilaista tietoa – korkeus, leveys, rivisarakkeen numero, numeromuoto jne. Tällä funktiolla on kaksi argumenttia:

  • parametrin koodisana, kuten "sarake" tai "rivi"
  • sen solun osoite, jolle haluamme määrittää tämän parametrin arvon

Temppu on, että toinen argumentti on valinnainen. Jos sitä ei ole määritetty, nykyinen aktiivinen solu otetaan käyttöön.

Tämän menetelmän toinen komponentti on ehdollinen muotoilu. Tämän erittäin hyödyllisen Excel-ominaisuuden avulla voit muotoilla soluja automaattisesti, jos ne täyttävät tietyt ehdot. Jos yhdistämme nämä kaksi ideaa yhdeksi, saamme seuraavan algoritmin koordinaattien valintamme toteuttamiseksi ehdollisen muotoilun avulla:

  1. Valitsemme taulukkomme, eli ne solut, joissa koordinaattivalinta tulee jatkossa näyttää.
  2. Avaa valikko Excel 2003:ssa ja sitä vanhemmissa versioissa Muoto – ehdollinen muotoilu – kaava (Muoto — ehdollinen muotoilu — kaava). Excel 2007:ssä ja uudemmissa - napsauta välilehteä Koti (Koti)nappia Ehdollinen muotoilu – Luo sääntö (Ehdollinen muotoilu – Luo sääntö) ja valitse säännön tyyppi Käytä kaavaa määrittääksesi, mitkä solut muotoillaan (Käytä kaavaa)
  3. Syötä koordinaattivalintamme kaava:

    =TAI(SOLU("rivi")=RIVI(A2),SOLU("sarake"=SARAKE(A2))

    =TAI(SOLU(«rivi»)=RIVI(A1),SOLU(«sarake»)=SARAKE(A1))

    Tämä kaava tarkistaa, onko taulukon jokaisen solun sarakenumero sama kuin nykyisen solun sarakenumero. Samoin sarakkeiden kanssa. Siten vain ne solut, joilla on joko sarakkeen numero tai rivinumero, joka vastaa nykyistä solua, täytetään. Ja tämä on ristin muotoinen koordinaattivalinta, jonka haluamme saavuttaa.

  4. lehdistö Puitteet (Muoto) ja aseta täyttöväri.

Kaikki on melkein valmis, mutta siinä on yksi vivahde. Tosiasia on, että Excel ei pidä valinnan muutosta arkin tietojen muutoksena. Ja tämän seurauksena se ei käynnistä kaavojen uudelleenlaskentaa ja ehdollisen muotoilun väritystä vain, kun aktiivisen solun sijainti muuttuu. Siksi lisätään yksinkertainen makro taulukkomoduuliin, joka tekee tämän. Napsauta hiiren kakkospainikkeella arkkivälilehteä ja valitse komento pikavalikosta Lähdeteksti (Lähdekoodi).Visual Basic Editor -ikkunan pitäisi avautua. Kopioi tähän tämän yksinkertaisen makron teksti:

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

Nyt, kun valinta muuttuu, kaavan uudelleenlaskenta funktiolla käynnistetään CELL ehdollisessa muotoilussa ja tulvi nykyinen rivi ja sarake.

Tämän menetelmän edut:

  • Ehdollinen muotoilu ei riko mukautettua taulukon muotoilua
  • Tämä valintavaihtoehto toimii oikein yhdistettyjen solujen kanssa.
  • Ei riskiä siitä, että tieto rivi ja sarake poistetaan vahingossa Poista.
  • Makroja käytetään vähän

Tämän menetelmän haitat:

  • Ehdollisen muotoilun kaava on syötettävä manuaalisesti.
  • Ei ole nopeaa tapaa ottaa käyttöön/poistaa käytöstä tällainen muotoilu – se on aina käytössä, kunnes sääntö poistetaan.

Menetelmä 3. Optimaalinen. Ehdollinen muotoilu + makrot

Kultainen keskitie. Käytämme mekanismia taulukon valinnan seuraamiseen menetelmän 1 makrojen avulla ja lisäämme siihen turvallisen korostuksen käyttämällä ehdollista muotoilua menetelmästä 2.

Avaa taulukko, jossa on taulukko, josta haluat saada tällaisen koordinaattivalinnan. Napsauta hiiren kakkospainikkeella arkkivälilehteä ja valitse komento pikavalikosta Lähdeteksti (Lähdekoodi).Visual Basic Editor -ikkunan pitäisi avautua. Kopioi siihen tämä näiden kolmen makron teksti:

Himmeä Coord_Selection As Boolen Sub Selection_On() Coord_Selection = Tosi loppu Sub Sub Selection_Off() Coord_Selection = Väärä loppu Sub Private Sub Worksheet_SelectionChange(ByVal Target as Range) Himmeä työalue As Range, CrossRange WorkRange As"7"300: 'адрес рабочего диапазона с таблицей If Target.Count > 1 then Exit Sub If Coord_Selection = False then WorkRange.FormatConditions.Delete Exit Sub End If Application.ScreenUpdating = Epätosi Jos ei leikkaa, sitten Ristikohde = Ei RangeTargets. WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex = 33ditions .Poista End If End Sub  

Muista vaihtaa työalueen osoite taulukon osoitteeksi. Sulje Visual Basic Editor ja palaa Exceliin. Voit käyttää lisättyjä makroja painamalla pikanäppäintä ALT + F8  ja jatka samalla tavalla kuin menetelmässä 1. 

Menetelmä 4. Kaunis. SeuraaCellPointer-lisäosaa

Excelin MVP Jan Karel Pieterse Hollannista jakaa ilmaisen lisäosan verkkosivuillaan SeuraaCellPointer(36 kt), joka ratkaisee saman ongelman piirtämällä graafisia nuoliviivoja käyttämällä makroja nykyisen rivin ja sarakkeen korostamiseksi:

 

Hieno ratkaisu. Ei ilman virheitä paikoin, mutta ehdottomasti kokeilemisen arvoinen. Lataa arkisto, pura se levylle ja asenna lisäosa:

  • Excel 2003:ssa ja sitä vanhemmissa - valikon kautta Palvelu – Lisäosat – Yleiskatsaus (Työkalut — Lisäosat — Selaa)
  • Excel 2007:ssä ja uudemmissa, kautta Tiedosto – Asetukset – Lisäosat – Siirry – Selaa (Tiedosto — Excel-asetukset — Apuohjelmat — Siirry — Selaa)

  • Mitä makrot ovat, mihin makrokoodi lisätään Visual Basicissa

 

Jätä vastaus