Preskoči na glavno vsebino

Krmarjenje po obsežnih Excelovih delovnih listih, polnih podatkov, je lahko zahtevno in zlahka izgubite sled o svojem kraju ali napačno preberete vrednosti. Da bi izboljšali vašo analizo podatkov in zmanjšali možnost napak, bomo predstavili 3 različne načine za dinamično označevanje vrstice in stolpca izbrane celice v Excelu. Ko se premikate od celice do celice, se označevanje dinamično premika, kar zagotavlja jasen in intuitiven vizualni znak, da ostanete osredotočeni na pravilne podatke, kot je prikazano v naslednji predstavitvi:

Samodejno označi aktivno vrstico in stolpec v Excelu


Video: samodejno označite aktivno vrstico in stolpec v Excelu


Samodejno označi aktivno vrstico in stolpec s kodo VBA

Če želite samodejno označiti celoten stolpec in vrstico izbrane celice na trenutnem delovnem listu, vam lahko naslednja koda VBA pomaga doseči to nalogo.

1. korak: Odprite delovni list, kjer želite samodejno označiti aktivno vrstico in stolpec

2. korak: Odprite urejevalnik modulov lista VBA in kopirajte kodo

  1. Z desno miškino tipko kliknite ime lista in izberite Ogled kode v priročnem meniju si oglejte posnetek zaslona:
  2. V odprtem urejevalniku modulov listov VBA kopirajte in prilepite naslednjo kodo v prazen modul. Oglejte si posnetek zaslona:
    Koda VBA: samodejno označi vrstico in stolpec izbrane celice
    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
    
    Namigi: Prilagodite kodo
    • Če želite spremeniti barvo osvetlitve, morate preprosto spremeniti vrednost RGB v naslednjih skriptih:
      rowRange.Interior.Color = RGB(248, 150, 171)
      colRange.Interior.Color = RGB(173, 233, 249)
    • Če želite označiti samo celotno vrstico izbrane celice, odstranite ali komentirajte (dodajte apostrof na sprednji strani) to vrstico:
      colRange.Interior.Color = RGB(173, 233, 249)
    • Če želite označiti samo celoten stolpec izbrane celice, odstranite ali komentirajte (dodajte apostrof na sprednji strani) to vrstico:
      rowRange.Interior.Color = RGB(248, 150, 171)

  3. Nato zaprite okno urejevalnika VBA, da se vrnete na delovni list.

Rezultat:

Zdaj, ko izberete celico, sta celotna vrstica in stolpec te celice samodejno označena, osvetlitev pa se dinamično premakne, ko se izbrana celica spremeni, kot je prikazano v spodnji predstavitvi:

Opombe:
  • Ta koda bo počistila barve ozadja iz vseh celic na delovnem listu, zato se izogibajte uporabi te rešitve, če imate celice z barvami po meri.
  • Zagon te kode bo onemogočil Razveljavi funkcijo na listu, kar pomeni, da s pritiskom na ne morete razveljaviti nobene napake Ctrl + Z bližnjico.
  • Ta koda ne bo delovala na zaščitenem delovnem listu.
  • Če želite prenehati označevati vrstico in stolpec izbrane celice, boste morali odstraniti predhodno dodano kodo VBA. Po tem ponastavite označevanje s klikom Domov > Barva polnila > Brez polnjenja.

Samodejno označi aktivno vrstico in stolpec s samo enim klikom Kutools

Se soočate z omejitvami kode VBA v Excelu? Kutools za Excel's Mrežni fokus funkcija je vaša idealna rešitev! Zasnovan za odpravo pomanjkljivosti VBA, ponuja raznolik nabor stilov označevanja za izboljšanje vaše izkušnje z listi. S svojo zmožnostjo uporabe teh slogov v vseh odprtih delovnih zvezkih, Kutools zagotavlja dosledno učinkovit in vizualno privlačen proces upravljanja podatkov.

Opombe: Če želite uporabiti to Mrežni fokus funkcijo, prosim prenesite in namestite Kutools za Excel najprej.

Po namestitvi Kutools za Excel, Kliknite Kutools > Mrežni fokus da omogočite to funkcijo. Zdaj lahko vidite, da sta vrstica in stolpec aktivne celice takoj označena. Ta osvetlitev se dinamično premakne, da sledi, ko spremenite izbiro celice. Oglejte si spodnjo predstavitev:

Ključne prednosti funkcije Grid Focus:
  • Ohranja izvirne barve ozadja celice:
    Za razliko od kode VBA ta funkcija upošteva obstoječe oblikovanje vašega delovnega lista.
  • Uporabno v zaščitenih listih:
    Ta funkcija brezhibno deluje v zaščitenih delovnih listih, zaradi česar je idealna za upravljanje občutljivih ali skupnih dokumentov brez ogrožanja varnosti.
  • Ne vpliva na funkcijo razveljavitve:
    S to funkcijo ohranite popoln dostop do Excelove funkcije razveljavitve. To zagotavlja, da lahko enostavno razveljavite spremembe in dodajate plast varnosti vaši manipulaciji s podatki.
  • Stabilno delovanje z velikimi količinami podatkov:
    Ta funkcija je zasnovana za učinkovito obdelavo velikih naborov podatkov, kar zagotavlja stabilno delovanje tudi v zapletenih in podatkovno intenzivnih preglednicah.
  • Več stilov označevanja:
    Ta funkcija ponuja različne možnosti označevanja, kar vam omogoča, da izbirate med različnimi slogi in barvami, da bo vaša aktivna celica vrstice, stolpca ali vrstice in stolpca izstopala na način, ki najbolje ustreza vašim željam in potrebam.
Nasvet:

Samodejno označi aktivno vrstico in stolpec s pogojnim oblikovanjem

V Excelu lahko nastavite tudi pogojno oblikovanje za samodejno označevanje aktivne vrstice in stolpca. Za nastavitev te funkcije sledite tem korakom:

1. korak: izberite obseg podatkov

Najprej izberite obseg celic, za katere želite uporabiti to funkcijo. To je lahko celoten delovni list ali določen nabor podatkov. Tukaj bom izbral celoten delovni list.

2. korak: dostop do pogojnega oblikovanja

klik Domov > Pogojno oblikovanje > Novo pravilo, glej posnetek zaslona:

3. korak: nastavite operacije v novem pravilu oblikovanja

  1. v Novo pravilo oblikovanja izberite pogovorno okno S formulo določite, katere celice želite formatirati Iz Izberite vrsto pravila seznamsko polje.
  2. v Oblikujte vrednosti, kjer je ta formula resnična polje, vnesite eno od teh formul, v tem primeru bom uporabil tretjo formulo, da označim aktivno vrstico in stolpec.
    Če želite označiti aktivno vrstico:
    =CELL("row")=ROW()
    Če želite označiti aktivni stolpec:
    =CELL("col")=COLUMN()
    Če želite označiti aktivno vrstico in stolpec:
    =OR(CELL("row")=ROW(), CELL("col")= COLUMN())
  3. Nato kliknite oblikovana gumb.
  4. V nadaljevanju Oblikuj celice v pogovornem oknu pod Izpolnite izberite eno barvo, da označite aktivno vrstico in stolpec, kot želite, glejte posnetek zaslona:
  5. Nato kliknite OK > OK za zapiranje pogovornih oken.

Rezultat:

Zdaj lahko vidite, da sta bila celoten stolpec in vrstica celice A1 označena hkrati. Če želite to osvetlitev uporabiti za drugo celico, preprosto kliknite želeno celico in pritisnite F9 tipko za osvežitev lista, ki bo nato označila celoten stolpec in vrstico na novo izbrane celice.

Nasvet: 
  • Čeprav pristop pogojnega oblikovanja za označevanje v Excelu ponuja rešitev, ni tako brezhibna kot uporaba VBA in Mrežni fokus funkcija. Ta metoda zahteva ročno ponovno izračunavanje lista (doseženo s pritiskom na F9 ključ).
    Če želite omogočiti samodejno ponovno izračunavanje vašega delovnega lista, lahko preprosto kodo VBA vključite v kodni modul ciljnega lista. To bo avtomatiziralo postopek osveževanja in zagotovilo posodobitev označevanja takoj, ko izberete različne celice, ne da bi pritisnili F9 ključ. Z desno miškino tipko kliknite ime lista in nato izberite Ogled kode iz kontekstnega menija. Nato kopirajte in prilepite naslednjo kodo v modul lista:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Target.Calculate
    End Sub
    
  • Pogojno oblikovanje ohrani obstoječe oblikovanje, ki ste ga ročno uporabili za svoj delovni list.
  • Znano je, da je pogojno oblikovanje nestanovitno, zlasti če se uporablja za zelo velike nize podatkov. Njegova obsežna uporaba lahko potencialno upočasni delovanje vašega delovnega zvezka, kar vpliva na učinkovitost obdelave podatkov in krmarjenja.
  • Funkcija CELL je na voljo samo v Excelovih različicah 2007 in novejših, ta metoda ni združljiva s prejšnjimi različicami Excela.

Primerjava zgornjih metod

Feature Koda VBA Pogojno oblikovanje Kutools za Excel
Ohranite barvo ozadja celice Ne Da Da
Podpira razveljavitev Ne Da Da
Stabilen v velikih naborih podatkov Ne Ne Da
Uporabno v zaščitenih listih Ne Da Da
Velja za vse odprte delovne zvezke Samo trenutni list Samo trenutni list Vsi odprti delovni zvezki
Zahteva ročno osvežitev (F9) Ne Da Ne

S tem se zaključi naš vodnik o tem, kako označiti stolpec in vrstico izbrane celice v Excelu. Če vas zanima več nasvetov in trikov za Excel, naše spletno mesto ponuja na tisoče vadnic kliknite tukaj za dostop do njih. Hvala za branje in veselimo se, da vam bomo v prihodnje zagotovili več koristnih informacij!


Sorodni članki:

  • Samodejno označi vrstico in stolpec aktivne celice
  • Ko si ogledujete velik delovni list s številnimi podatki, boste morda želeli poudariti vrstico in stolpec izbrane celice, da boste lahko preprosto in intuitivno prebrali podatke, da jih ne boste napačno prebrali. Tu vam lahko predstavim nekaj zanimivih trikov za poudarjanje vrstice in stolpca trenutne celice, ko se celica spremeni, se stolpec in vrstica nove celice samodejno označita.
  • Označite vsako drugo vrstico ali stolpec v Excelu
  • Na velikem delovnem listu označevanje ali izpolnjevanje vsake druge ali vsake n-te vrstice ali stolpca izboljša vidnost in berljivost podatkov. Ne samo, da je delovni list videti bolj urejen, ampak vam tudi pomaga hitreje razumeti podatke. V tem članku vas bomo vodili skozi različne metode senčenja vsake druge ali n-te vrstice ali stolpca, kar vam bo pomagalo predstaviti podatke na privlačnejši in preprostejši način.
  • Označite celotno / celotno vrstico med pomikanjem
  • Če imate velik delovni list z več stolpci, boste težko ločili podatke v tej vrstici. V tem primeru lahko označite celotno vrstico aktivne celice, da si lahko hitro in enostavno ogledate podatke v tej vrstici, ko se pomaknete navzdol po vodoravnem drsnem traku. V tem članku bom spregovoril o nekaj trikih, s katerimi boste rešili to težavo .
  • Označite vrstice na podlagi spustnega seznama
  • V tem članku bomo govorili o tem, kako poudariti vrstice na podlagi spustnega seznama, na primer naredite naslednji posnetek zaslona, ​​ko na spustnem seznamu v stolpcu E izberem »V teku«, moram to vrstico označiti z rdečo barvo, ko na spustnem seznamu izberite »Dokončano«, to vrstico moram označiti z modro barvo, in ko izberem »Not Started«, bo za označitev vrstice uporabljena zelena barva.
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