Przejdź do głównej zawartości
Autor: Xiaoyang Ostatnia modyfikacja: 2023-12-01

Poruszanie się po obszernych arkuszach programu Excel wypełnionych danymi może być trudne i łatwo stracić orientację w miejscu lub błędnie odczytać wartości. Aby usprawnić analizę danych i zmniejszyć ryzyko błędów, wprowadzimy 3 różne sposoby dynamicznego podświetlania wiersza i kolumny wybranej komórki w programie Excel. Gdy przechodzisz z komórki do komórki, podświetlenie zmienia się dynamicznie, zapewniając wyraźną i intuicyjną wskazówkę wizualną, która pozwala skupić się na właściwych danych, jak pokazano na poniższym pokazie:

Automatyczne wyróżnianie aktywnego wiersza i kolumny w programie Excel


Wideo: automatyczne wyróżnianie aktywnego wiersza i kolumny w programie Excel


Automatyczne podświetlanie aktywnego wiersza i kolumny za pomocą kodu VBA

Aby automatycznie podświetlić całą kolumnę i wiersz wybranej komórki w bieżącym arkuszu, w wykonaniu tego zadania może pomóc następujący kod VBA.

Krok 1: Otwórz arkusz, w którym chcesz automatycznie podświetlić aktywny wiersz i kolumnę

Krok 2: Otwórz edytor modułu arkusza VBA i skopiuj kod

  1. Kliknij prawym przyciskiem myszy nazwę arkusza i wybierz Wyświetl kod z menu kontekstowego, zobacz zrzut ekranu:
  2. W otwartym edytorze modułów arkuszy VBA skopiuj i wklej poniższy kod do pustego modułu. Zobacz zrzut ekranu:
    Kod VBA: automatycznie podświetl wiersz i kolumnę wybranej komórki
    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
    
    Wskazówki: Dostosuj kod
    • Aby zmienić kolor podświetlenia, wystarczy zmodyfikować wartość RGB w następujących skryptach:
      wierszZakres.Wnętrze.Kolor = RGB(248, 150, 171)
      colRange.Interior.Color = RGB(173, 233, 249)
    • Aby podświetlić tylko cały wiersz wybranej komórki, usuń lub skomentuj (dodaj apostrof na początku) tę linię:
      colRange.Interior.Color = RGB(173, 233, 249)
    • Aby podświetlić tylko całą kolumnę wybranej komórki, usuń lub skomentuj (dodaj apostrof na początku) tę linię:
      rowRange.Interior.Color = RGB(248, 150, 171)

  3. Następnie zamknij okno edytora VBA, aby powrócić do arkusza.

Wynik:

Teraz, gdy wybierzesz komórkę, cały wiersz i kolumna tej komórki zostaną automatycznie podświetlone, a podświetlenie będzie się dynamicznie przesuwać wraz ze zmianą wybranej komórki, jak pokazano poniżej:

Uwagi:
  • Ten kod usunie kolory tła ze wszystkich komórek w arkuszu, więc unikaj korzystania z tego rozwiązania, jeśli masz komórki z niestandardowym kolorowaniem.
  • Uruchomienie tego kodu spowoduje wyłączenie odpiąć w arkuszu, co oznacza, że ​​nie można cofnąć żadnych błędów, naciskając przycisk Ctrl + Z skrót.
  • Ten kod nie będzie działał w chronionym arkuszu.
  • Aby przestać podświetlać wiersz i kolumnę wybranej komórki, musisz usunąć wcześniej dodany kod VBA. Następnie, aby zresetować podświetlenie, kliknij Strona główna > Wypełnij kolor > Nie wypełniać.

Automatycznie podświetlaj aktywny wiersz i kolumnę za pomocą jednego kliknięcia Kutools

Stoisz przed ograniczeniami kodu VBA w Excelu? Kutools dla programu Excel's Fokus siatki funkcja jest idealnym rozwiązaniem! Zaprojektowany, aby wyeliminować niedociągnięcia VBA, oferuje różnorodną gamę stylów wyróżniania, aby poprawić komfort korzystania z arkusza. Dzięki możliwości stosowania tych stylów we wszystkich otwartych skoroszytach, Kutools zapewnia niezmiennie wydajny i atrakcyjny wizualnie proces zarządzania danymi.

Note: Jeśli chcesz tego użyć Fokus siatki cecha, proszę pobierz i zainstaluj Kutools dla Excela pierwszy.

Po zainstalowaniu Kutools dla programu Excel, Proszę kliknąć Kutools > Fokus siatki aby włączyć tę funkcję. Teraz możesz zobaczyć, że wiersz i kolumna aktywnej komórki są natychmiast podświetlane. To wyróżnienie zmienia się dynamicznie wraz ze zmianą zaznaczenia komórek. Zobacz demo poniżej:

Kluczowe zalety funkcji Grid Focus:
  • Zachowuje oryginalne kolory tła komórki:
    W przeciwieństwie do kodu VBA, ta funkcja uwzględnia istniejące formatowanie arkusza.
  • Można stosować w arkuszach chronionych:
    Ta funkcja działa płynnie w chronionych arkuszach, dzięki czemu idealnie nadaje się do zarządzania poufnymi lub udostępnionymi dokumentami bez narażania bezpieczeństwa.
  • Nie ma wpływu na funkcję Cofnij:
    Dzięki tej funkcji zachowujesz pełny dostęp do funkcji cofania programu Excel. Dzięki temu możesz łatwo cofnąć zmiany, dodając warstwę bezpieczeństwa do manipulacji danymi.
  • Stabilna wydajność przy dużych danych:
    Ta funkcja została zaprojektowana z myślą o wydajnej obsłudze dużych zbiorów danych, zapewniając stabilną wydajność nawet w przypadku złożonych i intensywnie korzystających z danych arkuszy kalkulacyjnych.
  • Wiele stylów podkreślania:
    Ta funkcja oferuje wiele opcji wyróżniania, umożliwiając wybór różnych stylów i kolorów, dzięki czemu aktywna komórka wiersza, kolumny lub wiersza i kolumny będzie się wyróżniać w sposób najlepiej odpowiadający Twoim preferencjom i potrzebom.
Porady:

Automatyczne wyróżnianie aktywnego wiersza i kolumny za pomocą formatowania warunkowego

W programie Excel można także skonfigurować formatowanie warunkowe, aby automatycznie wyróżniać aktywny wiersz i kolumnę. Aby skonfigurować tę funkcję, wykonaj następujące kroki:

Krok 1: Wybierz zakres danych

Najpierw wybierz zakres komórek, do których chcesz zastosować tę funkcję. Może to być cały arkusz lub określony zestaw danych. Tutaj wybiorę cały arkusz.

Krok 2: Uzyskaj dostęp do formatowania warunkowego

Kliknij Strona główna > Formatowanie warunkowe > Nowa zasadazobacz zrzut ekranu:

Krok 3: Ustaw operacje w nowej regule formatowania

  1. W Nowa reguła formatowania okno dialogowe, wybierz Użyj formuły, aby określić, które komórki należy sformatować z Wybierz typ reguły skrzynka na listy.
  2. W Formatuj wartości tam, gdzie ta formuła jest prawdziwa wprowadź jedną z tych formuł, w tym przykładzie zastosuję trzecią formułę, aby podświetlić aktywny wiersz i kolumnę.
    Aby podświetlić aktywny wiersz:
    =CELL("row")=ROW()
    Aby podświetlić aktywną kolumnę:
    =CELL("col")=COLUMN()
    Aby podświetlić aktywny wiersz i kolumnę:
    =OR(CELL("row")=ROW(), CELL("col")= COLUMN())
  3. Następnie kliknij utworzony przycisk.
  4. W następujących Formatowanie komórek okno dialogowe w obszarze Wypełniać wybierz jeden kolor, aby podświetlić aktywny wiersz i kolumnę według potrzeb, zobacz zrzut ekranu:
  5. Następnie kliknij OK > OK aby zamknąć okna dialogowe.

Wynik:

Teraz możesz zobaczyć, że cała kolumna i wiersz komórki A1 zostały podświetlone jednocześnie. Aby zastosować to wyróżnienie do innej komórki, po prostu kliknij żądaną komórkę i naciśnij F9 klawisz , aby odświeżyć arkusz, co następnie podświetli całą kolumnę i wiersz nowo wybranej komórki.

Porady: 
  • Rzeczywiście, chociaż metoda formatowania warunkowego do wyróżniania w programie Excel oferuje rozwiązanie, nie jest ono tak płynne jak użycie VBA i Fokus siatki funkcja. Metoda ta wymaga ręcznego przeliczenia arkusza (uzyskuje się to poprzez naciśnięcie przycisku F9 klawisz).
    Aby umożliwić automatyczne przeliczenie arkusza, możesz włączyć prosty kod VBA do modułu kodu arkusza docelowego. Spowoduje to zautomatyzowanie procesu odświeżania, zapewniając natychmiastową aktualizację podświetlenia po wybraniu różnych komórek bez naciskania przycisku F9 klucz. Kliknij prawym przyciskiem myszy nazwę arkusza, a następnie wybierz Wyświetl kod z menu kontekstowego. Następnie skopiuj i wklej następujący kod do modułu arkusza:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Target.Calculate
    End Sub
    
  • Formatowanie warunkowe zachowuje istniejące formatowanie, które ręcznie zastosowałeś w arkuszu.
  • Wiadomo, że formatowanie warunkowe jest zmienne, szczególnie w przypadku zastosowania do bardzo dużych zbiorów danych. Jego szerokie użycie może potencjalnie spowolnić działanie skoroszytu, wpływając na wydajność przetwarzania danych i nawigacji.
  • Funkcja KOMÓRKA jest dostępna tylko w wersjach programu Excel 2007 i nowszych. Ta metoda nie jest kompatybilna z wcześniejszymi wersjami programu Excel.

Porównanie powyższych metod

Cecha Kod VBA Formatowanie warunkowe Kutools dla programu Excel
Zachowaj kolor tła komórki Nie Tak Tak
Obsługuje cofanie Nie Tak Tak
Stabilny w dużych zbiorach danych Nie Nie Tak
Można używać w arkuszach chronionych Nie Tak Tak
Dotyczy wszystkich otwartych skoroszytów Tylko aktualny arkusz Tylko aktualny arkusz Wszystkie otwarte skoroszyty
Wymaga ręcznego odświeżenia (F9) Nie Tak Nie

Na tym kończy się nasz przewodnik dotyczący wyróżniania kolumny i wiersza wybranej komórki w programie Excel. Jeśli chcesz poznać więcej porad i wskazówek dotyczących Excela, nasza witryna internetowa oferuje tysiące samouczków kliknij tutaj, aby uzyskać do nich dostęp. Dziękujemy za przeczytanie i mamy nadzieję, że w przyszłości przekażemy Ci więcej przydatnych informacji!


Podobne artykuły:

  • Automatyczne podświetlanie wiersza i kolumny aktywnej komórki
  • Podczas przeglądania dużego arkusza z wieloma danymi możesz chcieć podświetlić wiersz i kolumnę wybranej komórki, aby można było łatwo i intuicyjnie odczytać dane i uniknąć ich błędnego odczytania. Tutaj mogę przedstawić kilka interesujących sztuczek, aby podświetlić wiersz i kolumnę bieżącej komórki, kiedy komórka zostanie zmieniona, kolumna i wiersz nowej komórki zostaną automatycznie podświetlone.
  • Zaznacz co drugi wiersz lub kolumnę w programie Excel
  • W dużym arkuszu podświetlanie lub wypełnianie co drugiego lub co n-tego wiersza lub kolumny poprawia widoczność i czytelność danych. To nie tylko sprawia, że ​​arkusz wygląda schludniej, ale także pomaga szybciej zrozumieć dane. W tym artykule przeprowadzimy Cię przez różne metody cieniowania co drugiego lub n-tego wiersza lub kolumny, pomagając Ci zaprezentować dane w bardziej atrakcyjny i bezpośredni sposób.
  • Podświetl cały/cały wiersz podczas przewijania
  • Jeśli masz duży arkusz z wieloma kolumnami, trudno będzie odróżnić dane w tym wierszu. W takim przypadku możesz podświetlić cały wiersz aktywnej komórki, aby móc szybko i łatwo przeglądać dane w tym wierszu podczas przewijania poziomego paska przewijania W tym artykule omówię kilka sztuczek, aby rozwiązać ten problem .
  • Podświetl wiersze w oparciu o listę rozwijaną
  • W tym artykule omówimy, jak wyróżniać wiersze na podstawie listy rozwijanej, na przykład zrób poniższy zrzut ekranu, gdy wybieram „W toku” z rozwijanej listy w kolumnie E, muszę zaznaczyć ten wiersz kolorem czerwonym, kiedy wybierz „Ukończono” z rozwijanej listy, muszę podświetlić ten wiersz kolorem niebieskim, a kiedy wybiorę „Nie rozpoczęto”, do podświetlenia wiersza zostanie użyty zielony kolor.
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