Jak podświetlić aktywny wiersz i kolumnę w programie Excel

  • Udostępnij To
Michael Brown

W tym tutorialu poznasz 3 różne sposoby na dynamiczne podświetlenie wiersza i kolumny wybranej komórki w Excelu.

Podczas długotrwałego przeglądania dużego arkusza możesz w końcu stracić orientację, gdzie znajduje się Twój kursor i na jakie dane patrzysz. Aby wiedzieć dokładnie, gdzie jesteś w danym momencie, spraw, aby Excel automatycznie podświetlał dla Ciebie aktywny wiersz i kolumnę! Oczywiście podświetlenie powinno być dynamiczne i zmieniać się za każdym razem, gdy zaznaczysz inną komórkę. Zasadniczo to właśnie jest naszym celem:

    Automatyczne podświetlanie wiersza i kolumny wybranej komórki za pomocą VBA

    Ten przykład pokazuje, jak można programowo podświetlić aktywną kolumnę i wiersz za pomocą VBA. W tym celu użyjemy SelectionChange zdarzenie z Arkusz roboczy obiekt.

    Najpierw należy wyczyścić kolor tła wszystkich komórek w arkuszu, ustawiając opcję ColorIndex na 0. Następnie podświetlamy cały wiersz i kolumnę aktywnej komórki, ustawiając ich właściwości ColorIndex właściwość na numer indeksu dla żądanego koloru.

    Private Sub Worksheet_SelectionChange( ByVal Target As Range) If Target.Cells.Count> 1 Then Exit Sub Application.ScreenUpdating = False 'Wyczyść kolor wszystkich komórek Cells.Interior.ColorIndex = 0 With Target 'Podświetl wiersz i kolumnę wybranej komórki .EntireRow.Interior.ColorIndex = 38 .EntireColumn.Interior.ColorIndex = 24 End With Application.ScreenUpdating = True End Sub

    Dostosowywanie kodu

    Jeśli chciałbyś dostosować kod do swoich potrzeb, te małe wskazówki mogą się przydać:

    • Nasz przykładowy kod wykorzystuje dwa różne kolory pokazane w powyższym gifie - indeks koloru 38 dla wiersza i 24 dla kolumny. to zmiana koloru podświetlenia , wystarczy zastąpić je dowolnie wybranymi kodami ColorIndex.
    • Aby uzyskać kolorowy wiersz i kolumnę w w ten sam sposób , użyj tego samego numeru indeksu koloru dla obu.
    • Aby podświetlić tylko aktywny rząd , usuń lub skomentuj tę linię: .EntireColumn.Interior.ColorIndex = 24
    • Aby podświetlić tylko aktywna kolumna , usuń lub skomentuj tę linię: .EntireRow.Interior.ColorIndex = 38

    Jak dodać kod do swojego arkusza

    Aby kod był wykonywany po cichu w tle konkretnego arkusza, należy go wstawić do okna kodu należącego do tego arkusza, a nie do normalnego modułu. Aby to zlecić, wykonaj następujące czynności:

    1. W swoim skoroszycie naciśnij Alt + F11, aby przejść do edytora VBA.
    2. W Eksploratorze projektu po lewej stronie zobaczysz listę wszystkich otwartych skoroszytów i ich arkuszy. Jeśli jej nie widzisz, użyj skrótu Ctrl + R, aby przywołać okno Eksploratora projektu do widoku.
    3. Znajdź docelowy skoroszyt. W jego Obiekty programu Microsoft Excel kliknij dwukrotnie na arkusz, w którym chcesz zastosować wyróżnienie. W tym przykładzie jest to Arkusz 1 .
    4. W oknie Code po prawej stronie wklej powyższy kod.
    5. Zapisz swój plik jako Skoroszyt z obsługą makr (.xlsm).

    Zalety : wszystko odbywa się w backendzie; po stronie użytkownika nie są potrzebne żadne dostosowania/konfiguracje; działa we wszystkich wersjach Excela.

    Wady : istnieją dwa zasadnicze minusy, które sprawiają, że technika ta w pewnych okolicznościach nie może być zastosowana:

    • Kodeks czyści kolory tła Jeśli masz jakiekolwiek kolorowe komórki, nie używaj tego rozwiązania, ponieważ twoje niestandardowe formatowanie zostanie utracone.
    • Wykonanie tego kodu bloki funkcja cofania na arkuszu i nie będzie można cofnąć błędnego działania przez naciśnięcie Ctrl + Z .

    Podświetlanie aktywnego wiersza i kolumny bez VBA

    Najlepszym, co możesz uzyskać, aby podświetlić wybrany wiersz i/lub kolumnę bez VBA, jest formatowanie warunkowe Excela. Aby je skonfigurować, wykonaj następujące czynności:

    1. Wybierz swój zbiór danych, w którym ma być wykonane wyróżnienie.
    2. Na Strona główna zakładka, w Style grupa, kliknij Nowa zasada .
    3. W Nowa zasada formatowania okno dialogowe, wybierz Użyj formuły, aby określić, które komórki mają być sformatowane .
    4. W Formatuj wartości, w których ta formuła jest prawdziwa w polu, wprowadź jedną z tych formuł:

      Aby podkreślić aktywny rząd :

      =CELL("row")=ROW()

      Aby podkreślić aktywna kolumna :

      =CELL("col")=COLUMN()

      Aby podkreślić aktywny wiersz i kolumna :

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

      Wszystkie formuły wykorzystują funkcję CELL do zwrócenia numeru wiersza/kolumny wybranej komórki.

    5. Kliknij przycisk Format przycisk, przełącz na Wypełnij i wybierz kolor, który Ci się podoba.
    6. Kliknij dwukrotnie przycisk OK, aby zamknąć oba okna dialogowe.

    Jeśli czujesz, że potrzebujesz bardziej szczegółowych instrukcji, zobacz Jak stworzyć regułę formatowania warunkowego opartą na formule.

    W tym przykładzie zdecydowaliśmy się na formułę OR, aby zaciemnić zarówno kolumnę, jak i wiersz w tym samym kolorze. To wymaga mniej pracy i jest odpowiednie dla większości przypadków.

    Niestety, to rozwiązanie nie jest tak ładne jak VBA, ponieważ wymaga ręczne przeliczanie arkusza (poprzez naciśnięcie klawisza F9). Excel domyślnie przelicza arkusz tylko po wprowadzeniu nowych danych lub edycji istniejących, ale nie przy zmianie zaznaczenia. Zaznaczasz więc inną komórkę - nic się nie dzieje. Naciśnij F9 - arkusz zostaje odświeżony, formuła zostaje przeliczona, a podświetlenie zaktualizowane.

    Aby arkusz był przeliczany automatycznie za każdym razem, gdy SelectionChange występuje, możesz umieścić ten prosty kod VBA w module kodu arkusza docelowego, jak wyjaśniono w poprzednim przykładzie:

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

    Kod wymusza ponowne obliczenie wybranego zakresu/komórki, co z kolei wymusza aktualizację funkcji CELL i formatowanie warunkowe, aby odzwierciedlić zmianę.

    Zalety : w przeciwieństwie do poprzedniej metody, ta nie wpływa na istniejące formatowanie, które zastosowałeś ręcznie.

    Wady : może pogorszyć działanie Excela.

    • Aby formatowanie warunkowe działało, należy zmusić Excela do przeliczania formuły przy każdej zmianie zaznaczenia (ręcznie za pomocą klawisza F9 lub automatycznie za pomocą VBA). Wymuszone przeliczenia mogą spowolnić działanie Excela. Ponieważ nasz kod przelicza zaznaczenie, a nie cały arkusz, negatywny efekt będzie zauważalny najprawdopodobniej tylko w przypadku naprawdę dużych i złożonych skoroszytów.
    • Ponieważ funkcja CELL jest dostępna w programie Excel 2007 i nowszych, metoda ta nie będzie działać we wcześniejszych wersjach.

    Podświetlenie wybranego wiersza i kolumny przy użyciu formatowania warunkowego i VBA

    W przypadku, gdy poprzednia metoda znacznie spowolni Twój skoroszyt, możesz podejść do zadania inaczej - zamiast przeliczać arkusz przy każdym ruchu użytkownika, uzyskaj za pomocą VBA numer aktywnego wiersza/kolumny, a następnie podaj ten numer do funkcji ROW() lub COLUMN() za pomocą formuł formatowania warunkowego.

    Aby to osiągnąć, oto kroki, które musisz wykonać:

    1. Dodaj nowy pusty arkusz do swojego skoroszytu i nazwij go Arkusz pomocniczy Jedynym celem tego arkusza jest przechowywanie dwóch liczb reprezentujących wiersz i kolumnę zawierającą wybraną komórkę, dzięki czemu można bezpiecznie ukryć arkusz w późniejszym czasie.
    2. Poniższe VBA wstawiamy do okna kodu arkusza, w którym chcemy zaimplementować podświetlanie. Szczegółowe instrukcje znajdują się w naszym pierwszym przykładzie. 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

      Powyższy kod umieszcza współrzędne aktywnego wiersza i kolumny w arkuszu o nazwie "Arkusz pomocniczy". Jeśli w kroku 1 nazwałeś swój arkusz inaczej, zmień odpowiednio nazwę arkusza w kodzie. Numer wiersza jest zapisywany w A2, a numer kolumny w B2.

    3. W docelowym arkuszu zaznacz cały zbiór danych i utwórz regułę formatowania warunkowego za pomocą poniższych formuł. Wskazówki krok po kroku znajdują się w powyższym przykładzie.

    A teraz omówmy szczegółowo trzy główne przypadki użycia.

    Jak podświetlić aktywny wiersz

    Aby wyróżnić wiersz, w którym w danej chwili znajduje się kursor, ustaw regułę formatowania warunkowego za pomocą tej formuły:

    =ROW()='Helper Sheet'!$A$2

    W rezultacie użytkownik może wyraźnie zobaczyć, który wiersz jest aktualnie wybrany:

    Jak podświetlić aktywną kolumnę

    Aby podświetlić wybraną kolumnę, podaj numer kolumny do funkcji KOLUMNA za pomocą tego wzoru:

    =COLUMN()='Helper Sheet'!$B$2

    Teraz wyróżniona kolumna pozwala wygodnie i bez wysiłku czytać pionowe dane, skupiając się całkowicie na nich.

    Jak podświetlić aktywny wiersz i kolumnę

    Aby zarówno wybrany wiersz jak i kolumna były automatycznie cieniowane tym samym kolorem, połącz funkcje ROW() i COLUMN() w jedną formułę:

    =OR(ROW()='Helper Sheet'!$A$2, COLUMN()='Helper Sheet'!$B$2)

    Istotne dane są natychmiast wyeksponowane, dzięki czemu można uniknąć ich błędnego odczytania.

    Zalety : zoptymalizowana wydajność; działa we wszystkich wersjach programu Excel

    Wady : najdłuższy setup

    Oto jak podświetlić kolumnę i wiersz wybranej komórki w Excelu. Dziękuję za przeczytanie i czekam na Ciebie na naszym blogu za tydzień!

    Zeszyt ćwiczeń do pobrania

    Podświetlanie aktywnego wiersza i kolumny (plik .xlsm)

    Michael Brown jest oddanym entuzjastą technologii z pasją do upraszczania złożonych procesów za pomocą narzędzi programowych. Dzięki ponad dziesięcioletniemu doświadczeniu w branży technologicznej doskonalił swoje umiejętności w programach Microsoft Excel i Outlook, a także w Arkuszach i Dokumentach Google. Blog Michaela jest poświęcony dzieleniu się swoją wiedzą i doświadczeniem z innymi, dostarczając łatwych do zastosowania wskazówek i samouczków w celu poprawy produktywności i wydajności. Niezależnie od tego, czy jesteś doświadczonym profesjonalistą, czy początkującym, blog Michaela oferuje cenne spostrzeżenia i praktyczne porady dotyczące maksymalnego wykorzystania tych niezbędnych narzędzi programowych.