Sådan fremhæver du aktive rækker og kolonner i Excel

  • Del Dette
Michael Brown

I denne vejledning lærer du 3 forskellige måder at fremhæve rækken og kolonnen i en markeret celle dynamisk i Excel.

Når du ser et stort regneark i lang tid, kan du til sidst miste overblikket over, hvor din markør er, og hvilke data du ser på. Hvis du vil vide præcis, hvor du er på ethvert tidspunkt, kan du få Excel til automatisk at fremhæve den aktive række og kolonne for dig! Selvfølgelig skal fremhævelsen være dynamisk og ændre sig, hver gang du vælger en anden celle. Det er i bund og grund det, vi sigter mod at opnå:

    Auto-highlight række og kolonne i den valgte celle med VBA

    Dette eksempel viser, hvordan du kan fremhæve en aktiv kolonne og række programmatisk med VBA. Til dette formål vil vi bruge SelectionChange begivenhed i den Arbejdsark objekt.

    Først sletter du baggrundsfarven for alle celler på arket ved at indstille ColorIndex til 0. Og derefter fremhæver du hele rækken og kolonnen i den aktive celle ved at indstille deres ColorIndex til indeksnummeret for den ønskede farve.

    Private Sub Worksheet_SelectionChange( ByVal Target As Range) If Target.Cells.Count> 1 Then Exit Sub Application.ScreenUpdating = False 'Ryd farven på alle celler Cells.Interior.ColorIndex = 0 With Target 'Fremhæv række og kolonne for den valgte celle .EntireRow.Interior.ColorIndex = 38 .EntireColumn.Interior.ColorIndex = 24 End With Application.ScreenUpdating = True End Sub

    Tilpasning af koden

    Hvis du gerne vil tilpasse koden til dine behov, kan disse små tips være nyttige:

    • Vores kodeeksempel bruger to forskellige farver som vist i ovenstående gif - farveindeks 38 for rækken og 24 for kolonnen. Til ændre fremhævningsfarven , skal du blot erstatte dem med en ColorIndex-kode efter eget valg.
    • For at få rækken og kolonnen farvet i samme måde , bruge det samme farveindeksnummer til begge.
    • Hvis du kun vil fremhæve den aktiv række , fjerne eller udkommentere denne linje: .EntireColumn.Interior.ColorIndex = 24
    • Hvis du kun vil fremhæve den aktiv kolonne , fjerne eller udkommentere denne linje: .EntireRow.Interior.ColorIndex = 38

    Sådan tilføjer du koden til dit regneark

    Hvis du vil have koden udført lydløst i baggrunden i et bestemt regneark, skal du indsætte den i kodevinduet, der hører til det pågældende regneark, og ikke i det normale modul. For at få det gjort, skal du udføre disse trin:

    1. Tryk på Alt + F11 i din projektmappe for at få adgang til VBA-editoren.
    2. I Projekt Explorer til venstre vises en liste over alle åbne arbejdsbøger og deres regneark. Hvis du ikke kan se den, kan du bruge genvejen Ctrl + R til at få vist vinduet Projekt Explorer.
    3. Find målarbejdsbogen. I dens Microsoft Excel-objekter mappe, dobbeltklik på det ark, hvor du ønsker at anvende fremhævning. I dette eksempel er det Ark 1 .
    4. Indsæt ovenstående kode i kodevinduet til højre.
    5. Gem din fil som Makroaktiveret arbejdsbog (.xlsm).

    Fordele : alt foregår i backend; ingen justeringer/tilpasninger er nødvendige på brugerens side; virker i alle Excel-versioner.

    Ulemper : der er to væsentlige ulemper, som gør denne teknik uanvendelig under visse omstændigheder:

    • Koden rydder baggrundsfarver Hvis du har farvede celler, må du ikke bruge denne løsning, da din brugerdefinerede formatering går tabt.
    • Udførelse af denne kode blokerer funktionaliteten til at fortryde på arket, og du vil ikke kunne fortryde en fejlagtig handling ved at trykke på Ctrl + Z .

    Fremhæv aktiv række og kolonne uden VBA

    Det bedste du kan få til at fremhæve den valgte række og/eller kolonne uden VBA er Excels betingede formatering. For at konfigurere den skal du udføre disse trin:

    1. Vælg det datasæt, som markeringen skal foretages i.
    2. På den Hjem under fanen, i fanen Stilarter gruppe, klik på Ny regel .
    3. I den Ny formateringsregel dialogboksen, vælg Brug en formel til at bestemme, hvilke celler der skal formateres .
    4. I den Formater værdier, hvor denne formel er sand feltet, skal du indtaste en af disse formler:

      At fremhæve aktiv række :

      =CELL("row")=ROW()

      At fremhæve aktiv kolonne :

      =CELL("col")=COLUMN()

      At fremhæve aktiv række og kolonne :

      =OR(CELL("row")=ROW(), CELL("col")= COLUMN()))

      Alle formlerne anvender CELL-funktionen til at returnere række-/kolonnummeret for den valgte celle.

    5. Klik på den Format knappen, skifter du til den Fyld fanen, og vælg den farve, du vil have.
    6. Klik på OK to gange for at lukke begge dialogvinduer.

    Hvis du føler, at du har brug for mere detaljerede instruktioner, kan du se Sådan oprettes formelbaseret regel for betinget formatering.

    I dette eksempel har vi valgt OR-formlen til at give kolonne og række samme farve. Det kræver mindre arbejde og er velegnet i de fleste tilfælde.

    Desværre er denne løsning ikke lige så god som VBA-løsningen, fordi den kræver genberegning af arket manuelt (ved at trykke på tasten F9). Som standard genberegner Excel kun et regneark efter indtastning af nye data eller redigering af eksisterende data, men ikke når markeringen ændres. Så du markerer en anden celle - der sker ikke noget. Tryk på F9 - arket opdateres, formlen genberegnes, og markeringen opdateres.

    Hvis du vil have regnearket genberegnet automatisk, når SelectionChange hændelse opstår, kan du placere denne enkle VBA-kode i kodemodulet i målarket som forklaret i det foregående eksempel:

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

    Koden tvinger det valgte område/celle til at blive genberegnet, hvilket igen tvinger CELL-funktionen til at opdatere og den betingede formatering til at afspejle ændringen.

    Fordele : i modsætning til den foregående metode påvirker denne metode ikke den eksisterende formatering, som du har anvendt manuelt.

    Ulemper : kan forværre Excel's ydeevne.

    • For at den betingede formatering kan fungere, skal du tvinge Excel til at genberegne formlen ved hver ændring af markeringen (enten manuelt med F9-tasten eller automatisk med VBA). Tvungen genberegning kan gøre Excel langsommere. Da vores kode genberegner markeringen i stedet for et helt ark, vil en negativ effekt sandsynligvis kun være mærkbar på meget store og komplekse arbejdsmapper.
    • Da CELL-funktionen er tilgængelig i Excel 2007 og nyere versioner, vil metoden ikke fungere i tidligere versioner.

    Fremhæv valgte række og kolonne ved hjælp af betinget formatering og VBA

    Hvis den foregående metode gør din projektmappe betydeligt langsommere, kan du gribe opgaven an på en anden måde - i stedet for at genberegne et regneark ved hver brugerbevægelse kan du få det aktive række-/kolonnetal ved hjælp af VBA og derefter sende dette tal til funktionen ROW() eller COLUMN() ved hjælp af formler med betinget formatering.

    Her er de trin, du skal følge for at opnå dette:

    1. Tilføj et nyt tomt ark til din projektmappe og navngiv det Hjælperark Det eneste formål med dette ark er at gemme to tal, der repræsenterer den række og kolonne, som indeholder en markeret celle, så du kan gemme arket på et senere tidspunkt.
    2. Indsæt nedenstående VBA i kodevinduet i det regneark, hvor du ønsker at implementere fremhævning. For detaljerede instruktioner henvises til vores første eksempel. 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

      Ovenstående kode placerer koordinaterne for den aktive række og kolonne i arket med navnet "Hjælperark". Hvis du har navngivet dit ark anderledes i trin 1, skal du ændre regnearkets navn i koden i overensstemmelse hermed. Rækkens nummer skrives til A2 og kolonnens nummer til B2.

    3. Vælg hele datasættet i dit målregneark, og opret en betinget formateringsregel med nedenstående formler. Vejledningen trin for trin er angivet i ovenstående eksempel.

    Lad os nu gennemgå de tre vigtigste anvendelsesområder i detaljer.

    Sådan fremhæver du den aktive række

    Hvis du vil fremhæve den række, hvor markøren er placeret i øjeblikket, skal du oprette en betinget formatteringsregel med denne formel:

    =ROW()='Hjælpeark'!$A$2

    Resultatet er, at brugeren tydeligt kan se, hvilken række der er valgt i øjeblikket:

    Sådan fremhæver du den aktive kolonne

    Hvis du vil fremhæve den valgte kolonne, skal du angive kolonnenummeret til funktionen COLUMN ved hjælp af denne formel:

    =COLUMN()='Hjælpeark'!$B$2

    Nu kan du med en fremhævet kolonne nemt og bekvemt læse vertikale data, så du kan fokusere helt på dem.

    Sådan fremhæver du den aktive række og kolonne

    Hvis du vil have både den valgte række og kolonne automatisk skraveret i samme farve, skal du kombinere funktionerne ROW() og COLUMN() i én formel:

    =OR(ROW()='Hjælperark'!$A$2, COLUMN()='Hjælperark'!$B$2)

    De relevante data kommer straks i fokus, så du kan undgå at læse dem forkert.

    Fordele : optimeret ydeevne; fungerer i alle Excel-versioner

    Ulemper : den længste opsætning

    Sådan fremhæver du kolonnen og rækken i en markeret celle i Excel. Tak fordi du læste med, og jeg glæder mig til at se dig på vores blog i næste uge!

    Arbejdsbog til download

    Fremhævning af aktiv række og kolonne (.xlsm-fil)

    Michael Brown er en dedikeret teknologientusiast med en passion for at forenkle komplekse processer ved hjælp af softwareværktøjer. Med mere end ti års erfaring i teknologibranchen har han finpudset sine færdigheder i Microsoft Excel og Outlook samt Google Sheets og Docs. Michaels blog er dedikeret til at dele sin viden og ekspertise med andre og giver nemme at følge tips og vejledninger til at forbedre produktiviteten og effektiviteten. Uanset om du er en erfaren professionel eller nybegynder, tilbyder Michaels blog værdifuld indsigt og praktiske råd til at få mest muligt ud af disse vigtige softwareværktøjer.