Přejít k hlavnímu obsahu

Procházení rozsáhlých excelových listů přeplněných daty může být náročné a snadno ztratíte přehled o svém místě nebo špatně přečtete hodnoty. Abychom vylepšili analýzu dat a snížili pravděpodobnost chyb, představíme 3 různé způsoby, jak dynamicky zvýraznit řádek a sloupec vybrané buňky v Excelu. Jak se pohybujete z buňky do buňky, zvýraznění se dynamicky posouvá a poskytuje jasné a intuitivní vizuální vodítko, které vám umožní soustředit se na správná data, jak ukazuje následující ukázka:

Automaticky zvýraznit aktivní řádek a sloupec v Excelu


Video: Automaticky zvýraznit aktivní řádek a sloupec v Excelu


Automaticky zvýraznit aktivní řádek a sloupec pomocí kódu VBA

Chcete-li automaticky zvýraznit celý sloupec a řádek vybrané buňky v aktuálním listu, může vám k dosažení tohoto úkolu pomoci následující kód VBA.

Krok 1: Otevřete list, kde chcete automaticky zvýraznit aktivní řádek a sloupec

Krok 2: Otevřete editor modulu listu VBA a zkopírujte kód

  1. Klikněte pravým tlačítkem na název listu a vyberte Zobrazit kód z kontextové nabídky viz screenshot:
  2. V otevřeném editoru modulu listu VBA zkopírujte a vložte následující kód do prázdného modulu. Viz snímek obrazovky:
    Kód VBA: automatické zvýraznění řádku a sloupce vybrané buňky
    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
    
    Tipy: Přizpůsobte kód
    • Chcete-li změnit barvu zvýraznění, stačí upravit hodnotu RGB v následujících skriptech:
      rowRange.Interior.Color = RGB(248, 150, 171)
      colRange.Interior.Color = RGB(173, 233, 249)
    • Chcete-li zvýraznit pouze celý řádek vybrané buňky, odstraňte nebo okomentujte (přidejte apostrof na začátek) tohoto řádku:
      colRange.Interior.Color = RGB(173; 233; 249)
    • Chcete-li zvýraznit pouze celý sloupec vybrané buňky, odstraňte nebo okomentujte (přidejte apostrof na začátek) tohoto řádku:
      rowRange.Interior.Color = RGB(248; ​​150; 171)

  3. Poté zavřete okno editoru VBA a vraťte se do listu.

Výsledek:

Nyní, když vyberete buňku, automaticky se zvýrazní celý řádek a sloupec této buňky a zvýraznění se dynamicky posouvá, jak se vybraná buňka mění, jak je ukázáno níže:

Poznámky:
  • Tento kód vymaže barvy pozadí ze všech buněk v listu, takže se vyhněte použití tohoto řešení, pokud máte buňky s vlastním zbarvením.
  • Spuštění tohoto kódu deaktivuje Zrušit funkce v listu, což znamená, že nemůžete vrátit žádné chyby stisknutím tlačítka Ctrl + Z zkratka.
  • Tento kód nebude fungovat v chráněném listu.
  • Chcete-li přestat zvýrazňovat řádek a sloupec vybrané buňky, budete muset odstranit dříve přidaný kód VBA. Poté klepnutím na tlačítko resetujte zvýraznění Domů > Vyplň barvu > Bez náplně.

Automaticky zvýraznit aktivní řádek a sloupec pouze jedním kliknutím Kutools

Čelíte omezením kódu VBA v Excelu? Kutools pro Excel's Zaměření mřížky funkce je vaše ideální řešení! Je navržen tak, aby řešil nedostatky jazyka VBA, a nabízí rozmanitou škálu stylů zvýraznění, které vylepší váš zážitek z listu. Díky schopnosti použít tyto styly ve všech otevřených sešitech, Kutools zajišťuje trvale efektivní a vizuálně přitažlivý proces správy dat.

Poznámka: Pokud chcete použít toto Zaměření mřížky funkce, prosím stáhnout a nainstalovat Kutools pro Excel jako první.

Po instalaci Kutools pro Excel, Prosím klikněte Kutools > Zaměření mřížky pro aktivaci této funkce. Nyní můžete vidět, že řádek a sloupec aktivní buňky jsou okamžitě zvýrazněny. Toto zvýraznění se dynamicky posouvá podle toho, jak měníte výběr buňky. Podívejte se na ukázku níže:

Klíčové výhody funkce Grid Focus:
  • Zachovává původní barvy pozadí buňky:
    Na rozdíl od kódu VBA tato funkce respektuje stávající formátování listu.
  • Použitelné v chráněných listech:
    Tato funkce bezproblémově funguje v rámci chráněných listů, takže je ideální pro správu citlivých nebo sdílených dokumentů bez ohrožení zabezpečení.
  • Nemá vliv na funkci Zpět:
    Díky této funkci si zachováte plný přístup k funkcím aplikace Excel vrátit zpět. Tím je zajištěno, že můžete snadno vrátit změny, což zvyšuje úroveň zabezpečení vaší manipulace s daty.
  • Stabilní výkon s velkými daty:
    Tato funkce je navržena tak, aby efektivně zpracovávala velké datové sady a zajistila stabilní výkon i ve složitých a datově náročných tabulkách.
  • Více stylů zvýraznění:
    Tato funkce nabízí různé možnosti zvýraznění, které vám umožní vybrat si z různých stylů a barev, aby vaše aktivní buňka řádku, sloupce nebo řádku a sloupce vynikla způsobem, který nejlépe vyhovuje vašim preferencím a potřebám.
Tip:

Automaticky zvýraznit aktivní řádek a sloupec pomocí podmíněného formátování

V Excelu můžete také nastavit podmíněné formátování tak, aby automaticky zvýraznilo aktivní řádek a sloupec. Chcete-li tuto funkci nastavit, postupujte takto:

Krok 1: Vyberte rozsah dat

Nejprve vyberte rozsah buněk, na které chcete tuto funkci použít. Může to být celý list nebo konkrétní soubor dat. Zde vyberu celý pracovní list.

Krok 2: Přístup k podmíněnému formátování

klikněte Domů > Podmíněné formátování > Nové pravidlo, viz screenshot:

Krok 3: Nastavte operace v novém pravidle formátování

  1. v Nové pravidlo pro formátování dialogové okno vyberte Pomocí vzorce určete, které buňky chcete formátovat z Vyberte typ pravidla seznam.
  2. v Formátovat hodnoty, kde je tento vzorec pravdivý zadejte jeden z těchto vzorců, v tomto příkladu použiji třetí vzorec pro zvýraznění aktivního řádku a sloupce.
    Chcete-li zvýraznit aktivní řádek:
    =CELL("row")=ROW()
    Chcete-li zvýraznit aktivní sloupec:
    =CELL("col")=COLUMN()
    Chcete-li zvýraznit aktivní řádek a sloupec:
    =OR(CELL("row")=ROW(), CELL("col")= COLUMN())
  3. Potom klepněte na tlačítko Formát .
  4. V následujícím Formát buněk v dialogovém okně pod Vyplnit vyberte jednu barvu pro zvýraznění aktivního řádku a sloupce, jak potřebujete, viz snímek obrazovky:
  5. Potom klepněte na tlačítko OK > OK zavřete dialogy.

Výsledek:

Nyní můžete vidět, že celý sloupec a řádek buňky A1 byly zvýrazněny najednou. Chcete-li toto zvýraznění použít na jinou buňku, jednoduše klikněte na požadovanou buňku a stiskněte tlačítko F9 klávesou obnovíte list, čímž se zvýrazní celý sloupec a řádek nově vybrané buňky.

Tip: 
  • I když přístup podmíněného formátování pro zvýraznění v Excelu nabízí řešení, není tak bezproblémové jako použití VBA a Zaměření mřížky Vlastnosti. Tato metoda vyžaduje ruční přepočet listu (dosáhne se stisknutím tlačítka F9 klíč).
    Chcete-li povolit automatické přepočítání vašeho listu, můžete do modulu kódu cílového listu začlenit jednoduchý kód VBA. To zautomatizuje proces aktualizace a zajistí, že se zvýraznění aktualizuje okamžitě, když vyberete různé buňky bez stisknutí tlačítka F9 klíč. Klikněte prosím pravým tlačítkem na název listu a vyberte Zobrazit kód z kontextové nabídky. Poté zkopírujte a vložte následující kód do modulu listu:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Target.Calculate
    End Sub
    
  • Podmíněné formátování zachová stávající formátování, které jste na svůj list ručně použili.
  • Je známo, že podmíněné formátování je nestálé, zejména při použití na velmi velké datové sady. Jeho rozsáhlé používání může potenciálně zpomalit výkon vašeho sešitu a ovlivnit efektivitu zpracování dat a navigace.
  • Funkce CELL je k dispozici pouze v aplikaci Excel verze 2007 a novější, tato metoda není kompatibilní se staršími verzemi aplikace Excel.

Srovnání výše uvedených metod

vlastnost Kód VBA Podmíněné formátování Kutools pro Excel
Zachovat barvu pozadí buňky Ne Ano Ano
Podporuje Undo Ne Ano Ano
Stabilní ve velkých souborech dat Ne Ne Ano
Použitelné v chráněných listech Ne Ano Ano
Platí pro všechny otevřené sešity Pouze aktuální list Pouze aktuální list Všechny otevřené sešity
Vyžaduje ruční obnovení (F9) Ne Ano Ne

Tím končí náš průvodce, jak zvýraznit sloupec a řádek vybrané buňky v Excelu. Pokud máte zájem prozkoumat další tipy a triky pro Excel, naše webové stránky nabízejí tisíce výukových programů pro přístup k nim klikněte sem. Děkujeme za přečtení a těšíme se, že vám v budoucnu poskytneme další užitečné informace!


Související články:

  • Automaticky zvýraznit řádek a sloupec aktivní buňky
  • Když si prohlížíte velký list s mnoha daty, možná budete chtít zvýraznit řádek a sloupec vybrané buňky, abyste mohli snadno a intuitivně číst data, abyste se vyhnuli chybnému čtení. Tady vám mohu představit několik zajímavých triků, jak zvýraznit řádek a sloupec aktuální buňky, když se buňka změní, automaticky se zvýrazní sloupec a řádek nové buňky.
  • Zvýrazněte každý druhý řádek nebo sloupec v Excelu
  • Zvýraznění nebo vyplnění každého druhého nebo každého n-tého řádku nebo sloupce ve velkém listu zlepšuje viditelnost a čitelnost dat. Nejen, že list vypadá úhledněji, ale také vám pomůže rychleji porozumět datům. V tomto článku vás provedeme různými metodami, jak stínovat každý druhý nebo n-tý řádek nebo sloupec, což vám pomůže prezentovat data atraktivnějším a přímočařejším způsobem.
  • Při rolování zvýrazněte celý / celý řádek
  • Pokud máte velký list s více sloupci, bude pro vás obtížné rozlišit data na tomto řádku. V tomto případě můžete zvýraznit celý řádek aktivní buňky, abyste mohli rychle a snadno zobrazit data v tomto řádku při posouvání vodorovným posuvníkem. V tomto článku budu hovořit o některých tricích, jak tento problém vyřešit .
  • Zvýrazněte řádky na základě rozevíracího seznamu
  • Tento článek bude hovořit o tom, jak zvýraznit řádky na základě rozevíracího seznamu, například následující snímek obrazovky, když v rozevíracím seznamu ve sloupci E vyberu „Probíhá“, musím tento řádek zvýraznit červenou barvou, když v rozevíracím seznamu vyberte možnost „Dokončeno“, musím tento řádek zvýraznit modrou barvou, a když vyberu možnost „Nezahájeno“, použije se ke zvýraznění řádku zelená 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