Hoppa till huvudinnehåll

Att navigera genom omfattande Excel-kalkylblad fyllda med data kan vara utmanande, och det är lätt att tappa koll på din plats eller felläsa värden. För att förbättra din dataanalys och minska risken för fel kommer vi att introducera 3 olika sätt att dynamiskt markera raden och kolumnen i en vald cell i Excel. När du flyttar från cell till cell ändras framhävningen dynamiskt, vilket ger en tydlig och intuitiv visuell signal för att hålla dig fokuserad på rätt data enligt följande demo:

Markera aktiv rad och kolumn automatiskt i Excel


Video: Markera aktiv rad och kolumn automatiskt i Excel


Markera aktiv rad och kolumn automatiskt med VBA-kod

För att automatiskt markera hela kolumnen och raden i den valda cellen i det aktuella kalkylbladet, kan följande VBA-kod hjälpa dig att utföra denna uppgift.

Steg 1: Öppna kalkylbladet där du vill automatiskt markera aktiv rad och kolumn

Steg 2: Öppna VBA-arkmodulredigeraren och kopiera koden

  1. Högerklicka på arknamnet och välj Visa kod från snabbmenyn, se skärmdump:
  2. I den öppnade VBA-arkmodulredigeraren, kopiera och klistra in följande kod i den tomma modulen. Se skärmdump:
    VBA-kod: markera rad och kolumn för vald cell automatiskt
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'Update by Extendoffice
        Dim rowRange As Range
        Dim colRange As Range
        Dim activeCell As Range
        Set activeCell = Target.Cells(1, 1)
        Set rowRange = Rows(activeCell.Row)
        Set colRange = Columns(activeCell.Column)
         Cells.Interior.ColorIndex = xlNone
        rowRange.Interior.Color = RGB(248, 150, 171)
        colRange.Interior.Color = RGB(173, 233, 249)
    End Sub
    
    Tips: Anpassa koden
    • För att ändra markeringsfärgen behöver du helt enkelt ändra RGB-värdet i följande skript:
      rowRange.Interior.Color = RGB(248, 150, 171)
      colRange.Interior.Color = RGB(173, 233, 249)
    • För att bara markera hela raden med markerade celler, ta bort eller kommentera (lägg till en apostrof längst fram på) denna rad:
      colRange.Interior.Color = RGB(173, 233, 249)
    • För att bara markera hela kolumnen i den valda cellen, ta bort eller kommentera (lägg till en apostrof längst fram på) denna rad:
      rowRange.Interior.Color = RGB(248, 150, 171)

  3. Stäng sedan VBA-redigeringsfönstret för att återgå till kalkylbladet.

Resultat:

Nu, när du väljer en cell, markeras hela raden och kolumnen i den cellen automatiskt, och markeringen ändras dynamiskt när den valda cellen ändras enligt nedanstående demonstration:

Anmärkningar:
  • Denna kod kommer att rensa bakgrundsfärgerna från alla celler i kalkylbladet, så undvik att använda den här lösningen om du har celler med anpassad färg.
  • Att köra den här koden kommer att inaktivera Ångra funktion i arket, vilket innebär att du inte kan ångra några misstag genom att trycka på Ctrl + Z genväg.
  • Den här koden fungerar inte i ett skyddat kalkylblad.
  • För att sluta markera raden och kolumnen i den markerade cellen måste du ta bort den tidigare tillagda VBA-koden. Efter det, för att återställa markeringen genom att klicka Hem > Fyllnadsfärg > Ingen fyllning.

Markera aktiv rad och kolumn automatiskt med bara ett klick på Kutools

Står du inför begränsningarna för VBA-kod i Excel? Kutools för Excel's Rutnätsfokus funktion är din idealiska lösning! Designad för att åtgärda bristerna i VBA, erbjuder den en mångfald av framhävningsstilar för att förbättra din arkupplevelse. Med sin förmåga att tillämpa dessa stilar i alla öppna arbetsböcker, Kutools säkerställer en konsekvent effektiv och visuellt tilltalande datahanteringsprocess.

Anmärkningar: Om du vill använda detta Rutnätsfokus funktion, tack ladda ner och installera Kutools för Excel först.

När du har installerat Kutools för Excel, Klicka Kutools > Rutnätsfokus för att aktivera den här funktionen. Nu kan du se raden och kolumnen i den aktiva cellen är markerade omedelbart. Denna markering skiftar dynamiskt för att följa när du ändrar ditt cellval. Se demon nedan:

Viktiga fördelar med Grid Focus-funktionen:
  • Bevarar ursprungliga cellbakgrundsfärger:
    Till skillnad från VBA-koden, respekterar den här funktionen ditt kalkylblads befintliga formatering.
  • Användbar i skyddade ark:
    Den här funktionen fungerar sömlöst i skyddade kalkylblad, vilket gör den idealisk för att hantera känsliga eller delade dokument utan att kompromissa med säkerheten.
  • Påverkar inte Ångra-funktionen:
    Med den här funktionen behåller du full tillgång till Excels ångringsfunktion. Detta säkerställer att du enkelt kan återställa ändringar, vilket lägger till ett säkerhetslager för din datamanipulation.
  • Stabil prestanda med stora data:
    Den här funktionen är utformad för att hantera stora datamängder effektivt, vilket säkerställer stabil prestanda även i komplexa och dataintensiva kalkylblad.
  • Flera framhävningsstilar:
    Den här funktionen erbjuder en mängd olika framhävningsalternativ, så att du kan välja mellan olika stilar och färger för att få din aktiva cell av rad, kolumn eller rad och kolumn att sticka ut på ett sätt som bäst passar dina preferenser och behov.
Tips:
  • Klicka på för att inaktivera den här funktionen Kutools > Rutnätsfokus igen för att stänga denna funktion;
  • För att tillämpa den här funktionen, vänligen ladda ner och installera Kutools för Excel först.

Markera aktiv rad och kolumn automatiskt med villkorlig formatering

I Excel kan du också ställa in villkorlig formatering för att automatiskt markera den aktiva raden och kolumnen. För att ställa in den här funktionen, följ dessa steg:

Steg 1: Välj dataintervall

Välj först det cellintervall som du vill att den här funktionen ska tillämpas på. Detta kan vara hela kalkylbladet eller en specifik datamängd. Här kommer jag att välja hela arbetsbladet.

Steg 2: Få åtkomst till villkorlig formatering

Klicka Hem > Villkorlig formatering > Ny regel, se skärmdump:

Steg 3: Ställ in operationerna i den nya formateringsregeln

  1. I Ny formateringsregel dialogrutan, välj Använd en formel för att bestämma vilka celler som ska formateras från Välj en regeltyp listrutan.
  2. I Formatera värden där denna formel är sann rutan, ange en av dessa formler, i det här exemplet kommer jag att tillämpa den tredje formeln för att markera den aktiva raden och kolumnen.
    Så här markerar du aktiv rad:
    =CELL("row")=ROW()
    Så här markerar du aktiv kolumn:
    =CELL("col")=COLUMN()
    Så här markerar du aktiv rad och kolumn:
    =OR(CELL("row")=ROW(), CELL("col")= COLUMN())
  3. Klicka sedan bildad knapp.
  4. I följande Formatera celler under dialogrutan Fyll fliken, välj en färg för att markera den aktiva raden och kolumnen efter behov, se skärmdump:
  5. Klicka sedan OK > OK för att stänga dialogerna.

Resultat:

Nu kan du se att hela kolumnen och raden i cell A1 har markerats på en gång. För att tillämpa denna markering på en annan cell, klicka helt enkelt på önskad cell och tryck på F9 för att uppdatera arket, som sedan markerar hela kolumnen och raden i den nymarkerade cellen.

Tips: 
  • Även om metoden med villkorlig formatering för att markera i Excel erbjuder en lösning, är den inte lika sömlös som att använda VBA och Rutnätsfokus funktion. Denna metod kräver manuell omräkning av arket (som uppnås genom att trycka på F9 nyckel).
    För att möjliggöra automatisk omräkning av ditt kalkylblad kan du infoga en enkel VBA-kod i kodmodulen på ditt målblad. Detta kommer att automatisera uppdateringsprocessen, vilket säkerställer att markeringen uppdateras omedelbart när du väljer olika celler utan att trycka på F9 nyckel. Högerklicka på arknamnet och välj sedan Visa kod från snabbmenyn. Kopiera sedan och klistra in följande kod i arkmodulen:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Target.Calculate
    End Sub
    
  • Den villkorliga formateringen bevarar den befintliga formateringen som du har använt manuellt på ditt kalkylblad.
  • Villkorlig formatering är känd för att vara flyktig, särskilt när den tillämpas på mycket stora datamängder. Dess omfattande användning kan potentiellt bromsa din arbetsboks prestanda, vilket påverkar effektiviteten av databearbetning och navigering.
  • CELL-funktionen är endast tillgänglig i Excel-versioner 2007 och senare, den här metoden är inte kompatibel med tidigare versioner av Excel.

Jämförelse av ovanstående metoder

Leverans VBA-kod Villkorlig formatering Kutools för Excel
Bevara cellbakgrundsfärg Nej Ja Ja
Stöder Ångra Nej Ja Ja
Stabil i stora datamängder Nej Nej Ja
Användbar i skyddade ark Nej Ja Ja
Gäller alla öppna arbetsböcker Endast aktuellt blad Endast aktuellt blad Alla öppna arbetsböcker
Kräver manuell uppdatering (F9) Nej Ja Nej

Det avslutar vår guide om hur man markerar kolumnen och raden i en vald cell i Excel. Om du är intresserad av att utforska fler Excel-tips och tricks, erbjuder vår webbplats tusentals handledningar, vänligen klicka här för att komma åt dem. Tack för att du läser, och vi ser fram emot att ge dig mer användbar information i framtiden!


Relaterade artiklar:

  • Markera rad och kolumn i aktiv cell automatiskt
  • När du tittar på ett stort kalkylblad med många data kanske du vill markera den valda cellens rad och kolumn så att du enkelt och intuitivt kan läsa informationen för att undvika felläsning av dem. Här kan jag presentera några intressanta knep för att markera raden och kolumnen för den aktuella cellen, när cellen ändras markeras kolumnen och raden i den nya cellen automatiskt.
  • Markera varannan rad eller kolumn i Excel
  • I ett stort kalkylblad förbättras datasynlighet och läsbarhet genom att markera eller fylla varannan eller var n:e rad eller kolumn. Det gör inte bara att kalkylbladet ser snyggare ut utan hjälper dig också att förstå data snabbare. I den här artikeln guidar vi dig genom olika metoder för att skugga varannan eller n:e rad eller kolumn, vilket hjälper dig att presentera dina data på ett mer tilltalande och enkelt sätt.
  • Markera hela/hela raden medan du rullar
  • Om du har ett stort kalkylblad med flera kolumner blir det svårt för dig att skilja data på den raden. I det här fallet kan du markera hela raden av aktiv cell så att du snabbt och enkelt kan se data i den raden när du rullar ner i det horisontella rullningsfältet. Den här artikeln kommer jag att prata om några knep för dig för att lösa detta problem .
  • Markera rader baserat på rullgardinsmenyn
  • Den här artikeln kommer att prata om hur man markerar rader baserat på rullgardinsmenyn, ta följande skärmdump till exempel, när jag väljer "Pågår" från rullgardinsmenyn i kolumn E, måste jag markera den här raden med röd färg när jag välj "Slutfört" i listrutan, jag måste markera den här raden med blå färg, och när jag väljer "Inte startad" kommer en grön färg att användas för att markera raden.
Comments (61)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
And please reply to an email
This comment was minimized by the moderator on the site
Great job . But in the first task at the top of the browser page, when I did it, it was working correctly, but when I made protection for the sheet, it stopped working correctly, you see, what's the solution. Thank you
This comment was minimized by the moderator on the site
Hello,
To solve your problem, please apply the followign code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim rowRange As Range
    Dim colRange As Range
    Dim activeCell As Range
    Me.Unprotect
    Cells.Interior.ColorIndex = xlNone
    Set activeCell = Target.Cells(1, 1)
    Set rowRange = Rows(activeCell.Row)
    Set colRange = Columns(activeCell.Column)
    rowRange.Interior.Color = RGB(173, 233, 249)
    colRange.Interior.Color = RGB(173, 233, 249)
    Me.Protect
End Sub



Please have a try, hope it can help you!
This comment was minimized by the moderator on the site
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    
    ' Clear previous highlighting
    Me.Cells.FormatConditions.Delete
    
    ' Check if Checkbox1 is checked
    ' If CheckBox1.Value = True Then
        ' Check if a single cell or a range of cells is selected
        If Target.Cells.Count = 1 Or Target.Cells.Count > 1 Then
            Dim selectedRange As Range
            Dim selectedRows As Range
            Dim selectedColumns As Range
            
            Set selectedRange = Target
            Set selectedRows = Me.Range(Me.Cells(selectedRange.Row, 1), Me.Cells(selectedRange.Row + selectedRange.Rows.Count - 1, 1).EntireRow)
            Set selectedColumns = Me.Range(Me.Cells(1, selectedRange.Column), Me.Cells(1, selectedRange.Column + selectedRange.Columns.Count - 1).EntireColumn)
            
            ' Add conditional formatting to highlight the selected rows
            With selectedRows.FormatConditions.Add(Type:=xlExpression, Formula1:="=TRUE")
                .Interior.Color = RGB(255, 230, 153) ' Yellow color
            End With
            
            ' Add conditional formatting to highlight the selected columns
            With selectedColumns.FormatConditions.Add(Type:=xlExpression, Formula1:="=TRUE")
                .Interior.Color = RGB(255, 230, 153) ' Yellow color
            End With
        End If
    ' End If
    
    On Error GoTo 0
End Sub
This comment was minimized by the moderator on the site
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next

' Clear previous highlighting
Me.Cells.FormatConditions.Delete

' Check if a single cell or a range of cells is selected
If Target.Cells.Count = 1 Or Target.Cells.Count > 1 Then
Dim selectedRange As Range
Dim selectedRows As Range
Dim selectedColumns As Range

Set selectedRange = Target
Set selectedRows = Me.Range(Me.Cells(selectedRange.Row, 1), Me.Cells(selectedRange.Row + selectedRange.Rows.Count - 1, 1).EntireRow)
Set selectedColumns = Me.Range(Me.Cells(1, selectedRange.Column), Me.Cells(1, selectedRange.Column + selectedRange.Columns.Count - 1).EntireColumn)

' Add conditional formatting to highlight the selected rows
With selectedRows.FormatConditions.Add(Type:=xlExpression, Formula1:="=TRUE")
.Interior.Color = RGB(255, 230, 153) ' Yellow color
End With

' Add conditional formatting to highlight the selected columns
With selectedColumns.FormatConditions.Add(Type:=xlExpression, Formula1:="=TRUE")
.Interior.Color = RGB(255, 230, 153) ' Yellow color
End With
End If

On Error GoTo 0
End Sub
This comment was minimized by the moderator on the site
can you please post code in VBA format? trying to figure out what your code looks like from what you posted in a jumble is frustrating.
This comment was minimized by the moderator on the site
Hi,

The above code is brilliant. But i have two questions and if you can help then will be much appreciated. Let me know if there is cost associated with it.

1. The above code is removing my previous formatting of the cells. Eg. if i have got the cells filld with blue then above code clears that fill.
2. Is there a code that i can use when i am extracting values from another sheet and that row in the that sheet gets highlighted as well. Eg. I want to extract vale from another cell, so when i press = sign in sheet 1 and then when i move to sheet 2 to bring the value the row in the sheet doesn't get highlighted.

Regards,
This comment was minimized by the moderator on the site
Hello, Patel
For the first question:
It may be difficult to modify the VBA code, so, I recommend you to apply the Conditional Formatting feature for solving this problem, the following article may help you:
https://www.extendoffice.com/documents/excel/3500-excel-highlight-selected-row-conditional-formatting.html

Or you can use the Kutools for Excel' Reading Layout feature, you can try it 30 days for free.
Please download from: https://www.extendoffice.com/download/kutools-for-excel.html

For the second question:
Sorry, I can't solve this problem at present,😜
This comment was minimized by the moderator on the site
How do you modify the code so that:
1. It does not permanently strip existing colors of cells. Currently, after another cell is selected, it leaves colorless previous row. I'd like to keep the colors of the worksheet, as they were before row was highlighted by this code.
2. Limit the highlight width to only Columns A thru K, not the entire row.
This comment was minimized by the moderator on the site
Hello,
It may be difficult to modify the VBA code, so, here, I recommend you to apply the Conditional Formatting feature for solving this problem, please view the below article: (Note: if you need to highlight the column A to column K, you just need to select the range you need, and then apply the conditional formatting.)
https://www.extendoffice.com/documents/excel/3500-excel-highlight-selected-row-conditional-formatting.html


Or you can use the Kutools for Excel' Reading Layout feature, you can try it 30 days for free.
Please download from: https://www.extendoffice.com/download/kutools-for-excel.html

Please try, hope it can help you!
This comment was minimized by the moderator on the site
Thank you so much for this tip!!!
Rated 5 out of 5
This comment was minimized by the moderator on the site
Another easy way to highlight your rows: https://youtu.be/iOF06mZDGIk
This comment was minimized by the moderator on the site
FAIL. Wiped out all my other cell formatting irreversibly. And doesn't work if the sheet is protected. FAIL.
This comment was minimized by the moderator on the site
Hi Gues,The code does not work in a protected worksheet. If you want to keep the original cell formatting, please try the below code.The Reading Layout feature of Kutools is stable and handy, maybe you can download a free trial to have a try.
<div data-tag="code">Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Update 202001106
Static xRow
Static xColumn

Dim xWs As Worksheet
Dim xCRg, xCRg1, xRRg, xRRg1, xOHRg As Range
Dim xAHRORg, xAHRORg1 As Range
Dim xAWs As Worksheet
Dim xFNum As Integer
Dim xCll As Range

On Error Resume Next

Application.ScreenUpdating = False
pRow = Selection.Row
pColumn = Selection.Column

Set xWs = ActiveWorkbook.Worksheets.Item("AutoHighlightRAndC")
Set xAWs = Target.Worksheet
If xWs Is Nothing Then
Set xWs = ActiveWorkbook.Worksheets.Add
xWs.Name = "AutoHighlightRAndC"
xWs.Visible = xlSheetHidden
xAWs.Activate
End If

If xColumn <> "" Then
Set xCRg = Columns(xColumn)
xCRg.Interior.ColorIndex = xlNone
Set xCRg = Intersect(xCRg.Worksheet.UsedRange, xCRg)
For xFNum = 1 To xCRg.Count
Set xAHRORg1 = xAWs.Cells(xFNum, xColumn)
Set xAHRORg = xWs.Cells(xFNum, xColumn)
xAHRORg1.Interior.ColorIndex = xAHRORg.Interior.ColorIndex
'xCRg.Item(xFNum).Interior.ColorIndex = xWs.Columns(xColumn).Item(xFNum).Interior.ColorIndex
Next

Set xRRg = Rows(xRow)
xRRg.Interior.ColorIndex = xlNone
Set xRRg = Intersect(xCRg.Worksheet.UsedRange, xCRg)
For xFNum = 1 To xRRg.Count
Set xAHRORg1 = xAWs.Cells(xRow, xFNum)
Set xAHRORg = xWs.Cells(xRow, xFNum)
xAHRORg1.Interior.ColorIndex = xAHRORg.Interior.ColorIndex
'xRRg.Item(xFNum).Interior.ColorIndex = xWs.Rows(xRow).Item(xFNum).Interior.ColorIndex
Next

End If

xRow = pRow
xColumn = pColumn

Set xCRg = Columns(pColumn)
Set xCRg1 = Intersect(xCRg.Worksheet.UsedRange, xCRg)
For xFNum = 1 To xCRg1.Count
Set xOHRg = xWs.Cells(xFNum, pColumn)
xOHRg.Interior.ColorIndex = xCRg1.Item(xFNum).Interior.ColorIndex
Next

Set xRRg = Rows(pRow)
Set xRRg1 = Intersect(xRRg.Worksheet.UsedRange, xRRg)

For xFNum = 1 To xRRg1.Count
Set xCll = xWs.Cells(pRow, xFNum)
xCll.Interior.ColorIndex = xRRg1.Item(xFNum).Interior.ColorIndex
Next
xCRg.Interior.ColorIndex = 34
xRRg.Interior.ColorIndex = 34
Application.ScreenUpdating = True
End Sub
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations