Salt la conținutul principal
Autor: Xiaoyang Ultima modificare: 2023-12-01

Navigarea prin foi extinse de lucru Excel pline de date poate fi o provocare și este ușor să pierdeți evidența locului dvs. sau să citiți greșit valorile. Pentru a vă îmbunătăți analiza datelor și a reduce șansele de erori, vom introduce 3 moduri diferite de a evidenția în mod dinamic rândul și coloana unei celule selectate în Excel. Pe măsură ce treceți de la celulă la celulă, evidențierea se schimbă dinamic, oferind un indiciu vizual clar și intuitiv pentru a vă menține concentrat pe datele corecte, după cum se arată în următoarea demonstrație:

Evidențiați automat rândul și coloana active în Excel


Video: evidențiați automat rândul și coloana active în Excel


Evidențiați automat rândul și coloana active cu codul VBA

Pentru a evidenția automat întreaga coloană și rândul celulei selectate din foaia de lucru curentă, următorul cod VBA vă poate ajuta să realizați această sarcină.

Pasul 1: Deschideți foaia de lucru în care doriți să evidențiați automat rândul și coloana active

Pasul 2: Deschideți editorul de module de foi VBA și copiați codul

  1. Faceți clic dreapta pe numele foii și alegeți Afișați codul din meniul contextual, vezi captura de ecran:
  2. În editorul de module de foaie VBA deschis, copiați și inserați următorul cod în modulul gol. Vedeți captura de ecran:
    Cod VBA: evidențiați automat rândul și coloana celulei selectate
    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
    
    Sfaturi: personalizați codul
    • Pentru a schimba culoarea de evidențiere, trebuie pur și simplu să modificați valoarea RGB în următoarele scripturi:
      rowRange.Interior.Color = RGB(248, 150, 171)
      colRange.Interior.Color = RGB(173, 233, 249)
    • Pentru a evidenția doar întregul rând al celulei selectate, eliminați sau comentați (adăugați un apostrof în fața) acestei rânduri:
      colRange.Interior.Color = RGB(173, 233, 249)
    • Pentru a evidenția doar întreaga coloană a celulei selectate, eliminați sau comentați (adăugați un apostrof în partea din față) a acestei linii:
      rowRange.Interior.Color = RGB(248, 150, 171)

  3. Apoi, închideți fereastra editorului VBA pentru a reveni la foaia de lucru.

Rezultat:

Acum, când selectați o celulă, întregul rând și coloana acelei celule sunt evidențiate automat, iar evidențierea se schimbă dinamic pe măsură ce celula selectată se schimbă, așa cum se arată mai jos:

note:
  • Acest cod va șterge culorile de fundal din toate celulele din foaia de lucru, așa că evitați utilizarea acestei soluții dacă aveți celule cu colorare personalizată.
  • Rularea acestui cod va dezactiva Anula caracteristică din foaie, ceea ce înseamnă că nu puteți anula nicio greșeală apăsând tasta Ctrl + Z comenzi rapide.
  • Acest cod nu va funcționa într-o foaie de lucru protejată.
  • Pentru a opri evidențierea rândului și coloanei celulei selectate, va trebui să eliminați codul VBA adăugat anterior. După aceea, pentru a reseta evidențierea făcând clic Acasă > Culoare umplere > Fără umplere.

Evidențiați automat rândul și coloana active cu un singur clic pe Kutools

Te confrunți cu limitările codului VBA în Excel? Kutools pentru Excel's Focus pe grilă caracteristica este soluția ta ideală! Conceput pentru a aborda deficiențele VBA, oferă o gamă diversă de stiluri de evidențiere pentru a vă îmbunătăți experiența cu foile. Cu capacitatea sa de a aplica aceste stiluri în toate registrele de lucru deschise, Kutools asigură un proces de gestionare a datelor constant eficient și atractiv din punct de vedere vizual.

notițe: Dacă doriți să utilizați acest lucru Focus pe grilă caracteristică, vă rog descărcați și instalați Kutools pentru Excel mai întâi.

După instalare Kutools pentru Excel, Vă rugăm să faceți clic Kutools > Focus pe grilă pentru a activa această caracteristică. Acum, puteți vedea că rândul și coloana celulei active sunt evidențiate imediat. Această evidențiere se schimbă în mod dinamic pe măsură ce vă modificați selecția de celule. Vezi demo-ul de mai jos:

Avantajele cheie ale caracteristicii Grid Focus:
  • Păstrează culorile originale de fundal ale celulei:
    Spre deosebire de codul VBA, această caracteristică respectă formatarea existentă a foii de lucru.
  • Utilizabil în foi protejate:
    Această caracteristică funcționează perfect în foile de lucru protejate, ceea ce o face ideală pentru gestionarea documentelor sensibile sau partajate fără a compromite securitatea.
  • Nu afectează funcția Anulare:
    Cu această caracteristică, păstrați acces deplin la funcționalitatea de anulare a Excel. Acest lucru vă asigură că puteți anula cu ușurință modificările, adăugând un nivel de siguranță manipulării datelor dvs.
  • Performanță stabilă cu date mari:
    Această caracteristică este concepută pentru a gestiona seturi mari de date în mod eficient, asigurând o performanță stabilă chiar și în foile de calcul complexe și bogate în date.
  • Mai multe stiluri de evidențiere:
    Această caracteristică oferă o varietate de opțiuni de evidențiere, permițându-vă să alegeți dintre diferite stiluri și culori pentru a face celula dvs. activă de rând, coloană sau rând și coloană să iasă în evidență într-un mod care se potrivește cel mai bine preferințelor și nevoilor dvs.
Sfat:
  • Pentru a dezactiva această funcție, faceți clic pe Kutools > Focus pe grilă din nou pentru a închide această funcție;
  • Pentru a aplica această caracteristică, vă rugăm descărcați și instalați Kutools pentru Excel mai întâi.

Evidențiați automat rândul și coloana active cu formatare condiționată

În Excel, puteți configura și formatarea condiționată pentru a evidenția automat rândul și coloana active. Pentru a configura această caracteristică, urmați acești pași:

Pasul 1: Selectați intervalul de date

Mai întâi, selectați intervalul de celule la care doriți să se aplice această caracteristică. Aceasta ar putea fi întreaga foaie de lucru sau un anumit set de date. Aici, voi selecta întreaga fișă de lucru.

Pasul 2: Accesați formatarea condiționată

Clic Acasă > Formatarea condițională > Noua regulă, vezi captura de ecran:

Pasul 3: Setați operațiunile în noua regulă de formatare

  1. În Noua regulă de formatare caseta de dialog, alegeți Utilizați o formulă pentru a determina ce celule să formatați de la Selectați un tip de regulă casetă listă.
  2. În Formatează valorile în care această formulă este adevărată caseta, introduceți una dintre aceste formule, în acest exemplu, voi aplica a treia formulă pentru a evidenția rândul și coloana active.
    Pentru a evidenția rândul activ:
    =CELL("row")=ROW()
    Pentru a evidenția coloana activă:
    =CELL("col")=COLUMN()
    Pentru a evidenția rândul și coloana active:
    =OR(CELL("row")=ROW(), CELL("col")= COLUMN())
  3. Apoi apasa Format butonul.
  4. În cele ce urmează Celule de format caseta de dialog, sub Umple fila, alegeți o culoare pentru a evidenția rândul și coloana active după cum aveți nevoie, vedeți captura de ecran:
  5. Apoi apasa OK > OK pentru a închide casetele de dialog.

Rezultat:

Acum, puteți vedea că întreaga coloană și rândul celulei A1 au fost evidențiate simultan. Pentru a aplica această evidențiere unei alte celule, pur și simplu faceți clic pe celula dorită și apăsați butonul F9 pentru a reîmprospăta foaia, care va evidenția apoi întreaga coloană și rândul celulei nou selectate.

Sfat: 
  • Într-adevăr, deși abordarea de formatare condiționată pentru evidențierea în Excel oferă o soluție, nu este la fel de simplă ca utilizarea VBA și Focus pe grilă caracteristică. Această metodă necesită recalcularea manuală a foii (obținută prin apăsarea butonului F9 cheie).
    Pentru a activa recalcularea automată a foii de lucru, puteți încorpora un cod VBA simplu în modulul de cod al foii țintă. Acest lucru va automatiza procesul de reîmprospătare, asigurând actualizările de evidențiere imediat pe măsură ce selectați diferite celule fără a apăsa butonul F9 cheie. Faceți clic dreapta pe numele foii și apoi alegeți Afișați codul din meniul contextual. Apoi copiați și inserați următorul cod în modulul de foaie:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Target.Calculate
    End Sub
    
  • Formatarea condiționată păstrează formatarea existentă pe care ați aplicat-o manual foii de lucru.
  • Formatarea condiționată este cunoscută a fi volatilă, mai ales atunci când este aplicată la seturi de date foarte mari. Utilizarea sa extinsă poate încetini performanța registrului de lucru, afectând eficiența procesării datelor și a navigării.
  • Funcția CELL este disponibilă numai în versiunile Excel 2007 și ulterioare, această metodă nu este compatibilă cu versiunile anterioare de Excel.

Comparația metodelor de mai sus

Caracteristică Cod VBA Formatarea condițională Kutools pentru Excel
Păstrați culoarea de fundal a celulei Nu Da Da
Suporta Anulare Nu Da Da
Stabil în seturi mari de date Nu Nu Da
Utilizabil în foi protejate Nu Da Da
Se aplică tuturor registrelor de lucru deschise Doar foaie curentă Doar foaie curentă Toate registrele de lucru deschise
Necesită reîmprospătare manuală (F9) Nu Da Nu

Aceasta încheie ghidul nostru despre cum să evidențiați coloana și rândul unei celule selectate în Excel. Dacă sunteți interesat să explorați mai multe sfaturi și trucuri Excel, site-ul nostru oferă mii de tutoriale, vă rugăm să click aici pentru a le accesa. Vă mulțumim pentru citit și așteptăm cu nerăbdare să vă oferim mai multe informații utile în viitor!


Articole pe aceeaşi temă:

  • Evidențiați automat rândul și coloana celulei active
  • Când vizualizați o foaie de lucru mare cu numeroase date, poate doriți să evidențiați rândul și coloana celulei selectate, astfel încât să puteți citi cu ușurință și intuitiv datele, pentru a evita citirea greșită a acestora. Aici vă pot prezenta câteva trucuri interesante pentru a evidenția rândul și coloana celulei curente, când celula este modificată, coloana și rândul noii celule sunt evidențiate automat.
  • Evidențiați fiecare alt rând sau coloană în Excel
  • Într-o foaie de lucru mare, evidențierea sau completarea fiecărui rând sau al n-lea rând sau coloană îmbunătățește vizibilitatea și lizibilitatea datelor. Nu numai că face ca foaia de lucru să pară mai ordonată, dar vă ajută și să înțelegeți mai rapid datele. În acest articol, vă vom ghida prin diverse metode de a umbri fiecare al doilea rând sau al n-lea rând sau coloană, ajutându-vă să vă prezentați datele într-un mod mai atrăgător și mai simplu.
  • Evidențiați întregul rând / întregul rând în timp ce derulați
  • Dacă aveți o foaie de lucru mare cu mai multe coloane, vă va fi dificil să distingeți datele de pe acel rând. În acest caz, puteți evidenția întregul rând de celulă activă, astfel încât să puteți vizualiza rapid și ușor datele din acel rând atunci când derulați în jos pe bara de defilare orizontală. Acest articol, voi vorbi despre câteva trucuri pentru a rezolva această problemă. .
  • Evidențiați rândurile pe baza listei drop-down
  • Acest articol va vorbi despre cum să evidențiați rândurile pe baza listei derulante, luați de exemplu următoarea captură de ecran, când selectez „În curs” din lista derulantă din coloana E, trebuie să evidențiez acest rând cu culoare roșie, când selectați „Finalizat” din lista derulantă, trebuie să evidențiez acest rând cu culoare albastră, iar când selectez „Nu a început”, va fi folosită o culoare verde pentru a evidenția rândul.
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