Jak zvýraznit aktivní řádek a sloupec v aplikaci Excel

  • Sdílet Toto
Michael Brown

V tomto kurzu se naučíte 3 různé způsoby dynamického zvýraznění řádku a sloupce vybrané buňky v aplikaci Excel.

Při dlouhém prohlížení rozsáhlého pracovního listu můžete časem ztratit přehled o tom, kde se nachází váš kurzor a na která data se díváte. Abyste v každém okamžiku přesně věděli, kde se nacházíte, přimějte Excel, aby pro vás automaticky zvýraznil aktivní řádek a sloupec! Zvýraznění by samozřejmě mělo být dynamické a měnit se při každém výběru jiné buňky. Toho chceme v podstatě dosáhnout:

    Automatické zvýraznění řádku a sloupce vybrané buňky pomocí VBA

    Tento příklad ukazuje, jak lze pomocí VBA programově zvýraznit aktivní sloupec a řádek. K tomu použijeme příkaz SelectionChange událost Pracovní list objekt.

    Nejprve vymažete barvu pozadí všech buněk na listu nastavením parametru ColorIndex na hodnotu 0. A pak zvýrazníte celý řádek a sloupec aktivní buňky nastavením jejich ColorIndex na indexové číslo požadované barvy.

    Private Sub Worksheet_SelectionChange( ByVal Target As Range) If Target.Cells.Count> 1 Then Exit Sub Application.ScreenUpdating = False 'Vymazat barvu všech buněk Cells.Interior.ColorIndex = 0 With Target 'Zvýraznit řádek a sloupec vybrané buňky .EntireRow.Interior.ColorIndex = 38 .EntireColumn.Interior.ColorIndex = 24 End With Application.ScreenUpdating = True End Sub

    Přizpůsobení kódu

    Pokud chcete kód přizpůsobit svým potřebám, mohou se vám hodit tyto drobné tipy:

    • Náš ukázkový kód používá dvě různé barvy demonstrované na výše uvedeném gifu - barevný index 38 pro řádek a 24 pro sloupec. To změnit barvu zvýraznění , stačí je nahradit libovolnými kódy ColorIndex podle vlastního výběru.
    • Chcete-li získat řádek a sloupec obarvený ve tvaru stejným způsobem , použijte pro obě barvy stejné indexové číslo.
    • Chcete-li zvýraznit pouze aktivní řádek , odstraňte nebo zakomentujte tento řádek: .EntireColumn.Interior.ColorIndex = 24
    • Chcete-li zvýraznit pouze aktivní sloupec , odstraňte nebo zakomentujte tento řádek: .EntireRow.Interior.ColorIndex = 38

    Jak přidat kód do pracovního listu

    Chcete-li, aby se kód tiše prováděl na pozadí konkrétního listu, musíte jej vložit do okna kódu náležejícího tomuto listu, nikoli do běžného modulu. Chcete-li to provést, proveďte následující kroky:

    1. V sešitě stiskněte kombinaci kláves Alt + F11 a přejděte do editoru VBA.
    2. V levém okně Průzkumníka projektu uvidíte seznam všech otevřených sešitů a jejich listů. Pokud jej nevidíte, zobrazte okno Průzkumníka projektu pomocí klávesové zkratky Ctrl + R.
    3. Najděte cílový sešit. Objekty aplikace Microsoft Excel dvakrát klikněte na list, ve kterém chcete zvýraznění použít. V tomto příkladu je to list. List 1 .
    4. Do okna Kód vpravo vložte výše uvedený kód.
    5. Uložte soubor jako Sešit s podporou maker (.xlsm).

    Výhody : vše se provádí v backendu; na straně uživatele nejsou nutné žádné úpravy/přizpůsobení; funguje ve všech verzích Excelu.

    Nevýhody : existují dvě zásadní nevýhody, kvůli kterým je tato technika za určitých okolností nepoužitelná:

    • Kód vymaže barvy pozadí všech buněk v pracovním listu. Pokud máte barevné buňky, toto řešení nepoužívejte, protože se ztratí vlastní formátování.
    • Spuštění tohoto kódu bloky funkce vrácení zpět na listu a chybnou akci nebudete moci vrátit stisknutím kláves Ctrl + Z .

    Zvýraznění aktivního řádku a sloupce bez VBA

    Nejlepší, co můžete získat pro zvýraznění vybraného řádku a/nebo sloupce bez použití VBA, je podmíněné formátování aplikace Excel. Chcete-li jej nastavit, proveďte následující kroky:

    1. Vyberte datovou sadu, ve které má být zvýraznění provedeno.
    2. Na Home na kartě Styly klikněte na tlačítko Nové pravidlo .
    3. V Nové pravidlo formátování dialogového okna vyberte možnost Pomocí vzorce určete, které buňky se mají formátovat .
    4. V Formátování hodnot, kde je tento vzorec pravdivý zadejte jeden z těchto vzorců:

      Zvýraznění aktivní řádek :

      =CELL("row")=ROW()

      Zvýraznění aktivní sloupec :

      =CELL("col")=COLUMN()

      Zvýraznění aktivní řádek a sloupec :

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

      Všechny vzorce využívají funkci CELL, která vrací číslo řádku/sloupce vybrané buňky.

    5. Klikněte na Formát přepněte na tlačítko Naplňte a vyberte požadovanou barvu.
    6. Dvakrát klikněte na tlačítko OK a zavřete obě dialogová okna.

    Pokud máte pocit, že potřebujete podrobnější pokyny, přečtěte si článek Jak vytvořit pravidlo podmíněného formátování založené na vzorci.

    Pro tento příklad jsme zvolili vzorec OR, který odstíní sloupec i řádek stejnou barvou. To zabere méně práce a je to vhodné pro většinu případů.

    Bohužel toto řešení není tak pěkné jako řešení VBA, protože vyžaduje ruční přepočet listu (stisknutím klávesy F9). Ve výchozím nastavení Excel přepočítává list pouze po zadání nových dat nebo úpravě stávajících, ale ne při změně výběru. Vyberete tedy jinou buňku - nic se nestane. Stisknete klávesu F9 - list se obnoví, vzorec se přepočítá a zvýraznění se aktualizuje.

    Chcete-li, aby se pracovní list automaticky přepočítával, kdykoli je SelectionChange můžete tento jednoduchý kód VBA umístit do modulu kódu cílového listu, jak bylo vysvětleno v předchozím příkladu:

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

    Kód přinutí vybraný rozsah/buňku přepočítat, což následně přinutí funkci CELL aktualizovat a podmíněné formátování zohlednit změnu.

    Výhody : na rozdíl od předchozí metody nemá tato metoda vliv na stávající formátování, které jste použili ručně.

    Nevýhody : může zhoršit výkon aplikace Excel.

    • Aby podmíněné formátování fungovalo, je třeba přinutit Excel, aby při každé změně výběru vzorec přepočítal (buď ručně pomocí klávesy F9, nebo automaticky pomocí VBA). Vynucené přepočítávání může zpomalit Excel. Protože náš kód přepočítává výběr, nikoli celý list, negativní vliv se projeví pravděpodobně jen u opravdu velkých a složitých sešitů.
    • Protože funkce CELL je k dispozici v aplikaci Excel 2007 a novějších verzích, nebude tato metoda v dřívějších verzích fungovat.

    Zvýraznění vybraného řádku a sloupce pomocí podmíněného formátování a VBA

    V případě, že předchozí metoda výrazně zpomaluje sešit, můžete k úloze přistoupit jinak - místo přepočítávání listu při každém pohybu uživatele zjistěte pomocí VBA číslo aktivního řádku/sloupce a toto číslo pak naservírujte funkci ROW() nebo COLUMN() pomocí vzorců podmíněného formátování.

    Chcete-li toho dosáhnout, postupujte podle následujících kroků:

    1. Přidejte do sešitu nový prázdný list a pojmenujte jej Pomocný list . Jediným účelem tohoto listu je uložit dvě čísla představující řádek a sloupec obsahující vybranou buňku, abyste mohli list později bezpečně skrýt.
    2. Níže uvedený příkaz VBA vložte do okna kódu pracovního listu, ve kterém chcete zvýraznění implementovat. Podrobné pokyny naleznete v našem prvním příkladu. 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

      Výše uvedený kód umístí souřadnice aktivního řádku a sloupce do listu s názvem "Pomocný list". Pokud jste v kroku 1 pojmenovali list jinak, změňte podle toho název listu v kódu. Číslo řádku se zapíše do A2 a číslo sloupce do B2.

    3. V cílovém pracovním listu vyberte celý soubor dat a vytvořte pravidlo podmíněného formátování s níže uvedenými vzorci. Návod krok za krokem je uveden ve výše uvedeném příkladu.

    A nyní se podrobněji věnujme třem hlavním případům použití.

    Jak zvýraznit aktivní řádek

    Chcete-li zvýraznit řádek, na kterém se právě nachází kurzor, nastavte pravidlo podmíněného formátování pomocí tohoto vzorce:

    =ROW()='Pomocný list'!$A$2

    Výsledkem je, že uživatel jasně vidí, který řádek je aktuálně vybrán:

    Jak zvýraznit aktivní sloupec

    Chcete-li zvýraznit vybraný sloupec, zadejte číslo sloupce do funkce COLUMN pomocí tohoto vzorce:

    =COLUMN()='Pomocný list'!$B$2

    Zvýrazněný sloupec vám nyní umožní pohodlně a bez námahy číst vertikální data se zaměřením výhradně na ně.

    Jak zvýraznit aktivní řádek a sloupec

    Chcete-li vybraný řádek i sloupec automaticky vystínovat stejnou barvou, spojte funkce ROW() a COLUMN() do jednoho vzorce:

    =OR(ROW()='Pomocný list'!$A$2, COLUMN()='Pomocný list'!$B$2)

    Příslušné údaje se okamžitě zvýrazní, takže se můžete vyhnout jejich nesprávnému čtení.

    Výhody : optimalizovaný výkon; funguje ve všech verzích aplikace Excel

    Nevýhody : nejdelší nastavení

    To je návod, jak zvýraznit sloupec a řádek vybrané buňky v aplikaci Excel. Děkuji vám za přečtení a těším se na vás na našem blogu příští týden!

    Cvičebnice ke stažení

    Zvýraznění aktivního řádku a sloupce (.xlsm soubor)

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.