Koordinatvalg

Du har en stor skjerm, men bordene du jobber med er enda større. Og når du ser over skjermen på jakt etter nødvendig informasjon, er det alltid en sjanse til å "glide" øynene dine til neste linje og se i feil retning. Jeg kjenner til og med folk som til slike anledninger alltid holder en trelinjal nær seg for å feste den til streken på skjermen. Fremtidens teknologier! 

Og hvis gjeldende rad og kolonne er uthevet når den aktive cellen beveger seg over arket? Et slags koordinatvalg som dette:

Bedre enn en linjal, ikke sant?

Det er flere måter å variere kompleksiteten for å implementere dette. Hver metode har sine fordeler og ulemper. La oss ta en titt på dem i detalj.

Metode 1. Opplagt. Makro som fremhever gjeldende rad og kolonne

Den mest åpenbare måten å løse problemet vårt "på pannen" - vi trenger en makro som vil spore endringen i utvalget på arket og velge hele raden og kolonnen for gjeldende celle. Det er også ønskelig å kunne aktivere og deaktivere denne funksjonen om nødvendig, slik at et slikt kryssformet utvalg ikke hindrer oss i å legge inn for eksempel formler, men kun fungerer når vi ser gjennom listen i jakten på det nødvendige informasjon. Dette bringer oss til de tre makroene (velg, aktiver og deaktiver) som må legges til arkmodulen.

Åpne et ark med en tabell der du ønsker å få et slikt koordinatvalg. Høyreklikk på arkfanen og velg kommandoen fra hurtigmenyen Kildetekst (Kildekode).Visual Basic Editor-vinduet skal åpnes. Kopier denne teksten av disse tre makroene inn i den:

Dim Coord_Selection As Boolean 'Global variabel for valg på/av Sub Selection_On() 'Macro on selection Coord_Selection = True End Sub Selection_Off() 'Macro off selection Coord_Selection = False End Sub 'Hovedprosedyre som utfører valg Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim WorkRange As Range If Target.Cells.Count > 1 Then Exit Sub 'hvis mer enn 1 celle er valgt, exit If Coord_Selection = False Deretter Exit Sub 'hvis valget er av, avslutt Application.ScreenUpdating = False Set WorkRange = Range (" A6:N300") 'adresse til arbeidsområdet der utvalget er synlig  

Endre adressen til arbeidsområdet til din egen – det er innenfor dette området vårt utvalg vil fungere. Lukk deretter Visual Basic Editor og gå tilbake til Excel.

Trykk på hurtigtasten ALT + F8for å åpne et vindu med en liste over tilgjengelige makroer. Makro Selection_On, som du kanskje gjetter, inkluderer koordinatvalg på gjeldende ark og makroen Valg_Av – slår den av. I samme vindu, ved å klikke på knappen parametere (Alternativer) Du kan tilordne hurtigtaster til disse makroene for enkel oppstart.

Fordeler med denne metoden:

  • relativ enkel implementering
  • valg – operasjonen er ufarlig og endrer ikke innholdet eller formateringen av arkcellene på noen måte, alt forblir som det er

Ulemper ved denne metoden:

  • slikt valg fungerer ikke riktig hvis det er sammenslåtte celler på arket - alle rader og kolonner som er inkludert i foreningen velges samtidig
  • hvis du ved et uhell trykker på Delete-tasten, så slettes ikke bare den aktive cellen, men hele det valgte området, dvs. sletter data fra hele raden og kolonnen

Metode 2. Original. CELL + Betinget formateringsfunksjon

Denne metoden, selv om den har et par ulemper, virker for meg veldig elegant. For å implementere noe med kun de innebygde Excel-verktøyene, er det minimalt å komme inn i programmering i VBA kunstflyging 😉

Metoden er basert på bruk av CELL-funksjonen, som kan gi mye forskjellig informasjon om en gitt celle – høyde, bredde, rad-kolonnenummer, tallformat osv. Denne funksjonen har to argumenter:

  • et kodeord for parameteren, for eksempel "kolonne" eller "rad"
  • adressen til cellen som vi ønsker å bestemme verdien av denne parameteren for

Trikset er at det andre argumentet er valgfritt. Hvis det ikke er spesifisert, tas den gjeldende aktive cellen.

Den andre komponenten i denne metoden er betinget formatering. Denne ekstremt nyttige Excel-funksjonen lar deg formatere celler automatisk hvis de oppfyller spesifiserte betingelser. Hvis vi kombinerer disse to ideene til én, får vi følgende algoritme for å implementere vårt koordinatvalg gjennom betinget formatering:

  1. Vi velger tabellen vår, dvs. de cellene der koordinatvalget skal vises i fremtiden.
  2. Åpne menyen i Excel 2003 og eldre Format – Betinget formatering – Formel (Format – Betinget formatering – Formel). I Excel 2007 og nyere - klikk på fanen Hjemprodukt (Hjem)knapp Betinget formatering – Opprett regel (Betinget formatering – Opprett regel) og velg regeltypen Bruk en formel for å bestemme hvilke celler som skal formateres (Bruk formel)
  3. Skriv inn formelen for vårt koordinatvalg:

    =ELLER(CELLE(“rad”)=RAD(A2),CELLE(“kolonne”)=KOLONNE(A2))

    =ELLER(CELLE(«rad»)=RAD(A1),CELLE(«kolonne»)=KOLONNE(A1))

    Denne formelen sjekker om kolonnenummeret til hver celle i tabellen er det samme som kolonnenummeret til gjeldende celle. Likeså med kolonner. Dermed vil kun de cellene som enten har et kolonnenummer eller et radnummer som samsvarer med gjeldende celle fylles ut. Og dette er det kryssformede koordinatutvalget vi ønsker å oppnå.

  4. Klikk på knappen Rammeverk (format) og angi fyllfargen.

Alt er nesten klart, men det er en nyanse. Faktum er at Excel ikke anser en endring i utvalget som en endring i dataene på arket. Og som et resultat utløser det ikke omberegning av formler og omfarging av betinget formatering bare når posisjonen til den aktive cellen endres. La oss derfor legge til en enkel makro til arkmodulen som vil gjøre dette. Høyreklikk på arkfanen og velg kommandoen fra hurtigmenyen Kildetekst (Kildekode).Visual Basic Editor-vinduet skal åpnes. Kopier denne teksten til denne enkle makroen inn i den:

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

Nå, når valget endres, startes prosessen med å beregne formelen på nytt med funksjonen CELLE i betinget formatering og oversvømme gjeldende rad og kolonne.

Fordeler med denne metoden:

  • Betinget formatering bryter ikke tilpasset tabellformatering
  • Dette valgalternativet fungerer korrekt med sammenslåtte celler.
  • Ingen risiko for å slette en hel rad og kolonne med data ved utilsiktet klikk Delete.
  • Makroer brukes minimalt

Ulemper ved denne metoden:

  • Formelen for betinget formatering må legges inn manuelt.
  • Det er ingen rask måte å aktivere/deaktivere slik formatering – den er alltid aktivert til regelen er slettet.

Metode 3. Optimal. Betinget formatering + makroer

Gylne snitt. Vi bruker mekanismen for å spore utvalget på arket ved hjelp av makroer fra metode-1 og legger til sikker utheving til det ved hjelp av betinget formatering fra metode-2.

Åpne et ark med en tabell der du ønsker å få et slikt koordinatvalg. Høyreklikk på arkfanen og velg kommandoen fra hurtigmenyen Kildetekst (Kildekode).Visual Basic Editor-vinduet skal åpnes. Kopier denne teksten av disse tre makroene inn i den:

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 Is Not Intersect(TargetR) WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex.FormatConditions.FormatConditions .Slett End If End Sub  

Ikke glem å endre arbeidsområdeadressen til bordadressen din. Lukk Visual Basic Editor og gå tilbake til Excel. For å bruke makroene som er lagt til, trykk på hurtigtasten ALT + F8  og fortsett på samme måte som metode 1. 

Metode 4. Vakker. FollowCellPointer-tillegg

Excel MVP Jan Karel Pieterse fra Nederland gir bort et gratis tillegg på sin nettside Følg CellPointer(36Kb), som løser det samme problemet ved å tegne grafiske pillinjer ved hjelp av makroer for å markere gjeldende rad og kolonne:

 

Fin løsning. Ikke uten feil på steder, men absolutt verdt et forsøk. Last ned arkivet, pakk det ut på disk og installer tillegget:

  • i Excel 2003 og eldre – gjennom menyen Service – Tillegg – Oversikt (Verktøy — Tillegg — Bla gjennom)
  • i Excel 2007 og senere, gjennom Fil – Alternativer – Tillegg – Gå – Bla gjennom (Fil — Excel-alternativer — Tillegg — Gå til — Bla gjennom)

  • Hva er makroer, hvor skal du sette inn makrokode i Visual Basic

 

Legg igjen en kommentar