Ir para o conteúdo principal

Navegar por extensas planilhas do Excel repletas de dados pode ser desafiador e é fácil perder o controle de sua localização ou interpretar incorretamente os valores. Para aprimorar sua análise de dados e reduzir a chance de erros, apresentaremos 3 maneiras diferentes de destacar dinamicamente a linha e a coluna de uma célula selecionada no Excel. À medida que você passa de uma célula para outra, o realce muda dinamicamente, fornecendo uma dica visual clara e intuitiva para mantê-lo focado nos dados corretos, conforme mostrado na demonstração a seguir:

Destacar automaticamente linha e coluna ativas no Excel


Vídeo: Destacar automaticamente linhas e colunas ativas no Excel


Destacar automaticamente linha e coluna ativas com código VBA

Para destacar automaticamente toda a coluna e linha da célula selecionada na planilha atual, o código VBA a seguir pode ajudá-lo a realizar esta tarefa.

Etapa 1: abra a planilha onde deseja destacar automaticamente a linha e coluna ativas

Etapa 2: abra o editor do módulo de planilha VBA e copie o código

  1. Clique com o botão direito no nome da planilha e escolha Ver código no menu de contexto, veja a captura de tela:
  2. No editor de módulo de planilha VBA aberto, copie e cole o código a seguir no módulo em branco. Veja a captura de tela:
    Código VBA: auto-realçar linha e coluna da célula selecionada
    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
    
    Dicas: personalize o código
    • Para alterar a cor de destaque, basta modificar o valor RGB nos seguintes scripts:
      rowRange.Interior.Color = RGB(248, 150, 171)
      colRange.Interior.Color = RGB(173, 233, 249)
    • Para destacar apenas a linha inteira da célula selecionada, remova ou comente (adicione um apóstrofo na frente) desta linha:
      colRange.Interior.Color = RGB(173, 233, 249)
    • Para destacar apenas a coluna inteira da célula selecionada, remova ou comente (adicione um apóstrofo na frente) desta linha:
      rowRange.Interior.Color = RGB(248, 150, 171)

  3. Em seguida, feche a janela do editor VBA para retornar à planilha.

Resultado:

Agora, quando você seleciona uma célula, toda a linha e coluna dessa célula são automaticamente destacadas, e o destaque muda dinamicamente conforme a célula selecionada muda, conforme a demonstração mostrada abaixo:

Observações:
  • Este código irá limpar as cores de fundo de todas as células da planilha, portanto, evite usar esta solução se você tiver células com cores personalizadas.
  • A execução deste código desativará o desfazer recurso na planilha, o que significa que você não pode reverter nenhum erro pressionando o botão Ctrl + Z atalho.
  • Este código não funcionará em uma planilha protegida.
  • Para parar de destacar a linha e a coluna da célula selecionada, você precisará remover o código VBA adicionado anteriormente. Depois disso, para redefinir o realce clicando em Início > Cor de preenchimento > Sem preenchimento.

Destaque automaticamente linha e coluna ativas com apenas um clique do Kutools

Enfrentando as limitações do código VBA no Excel? Kutools para Excel's Foco da Grade recurso é a solução ideal! Projetado para solucionar as deficiências do VBA, ele oferece uma ampla gama de estilos de realce para aprimorar sua experiência com planilhas. Com a capacidade de aplicar esses estilos em todas as pastas de trabalho abertas, Kutools garante um processo de gerenciamento de dados consistentemente eficiente e visualmente atraente.

Note: Se você quiser usar isso Foco da Grade característica, por favor baixe e instale o Kutools para Excel em primeiro lugar.

Depois de instalar Kutools for Excel, Por favor clique Kutools > Foco da Grade para ativar esse recurso. Agora, você pode ver que a linha e a coluna da célula ativa são destacadas imediatamente. Este destaque muda dinamicamente para seguir conforme você altera a seleção de células. Veja a demonstração abaixo:

Principais benefícios do recurso Grid Focus:
  • Preserva as cores originais do plano de fundo das células:
    Ao contrário do código VBA, este recurso respeita a formatação existente da sua planilha.
  • Utilizável em planilhas protegidas:
    Esse recurso funciona perfeitamente em planilhas protegidas, tornando-o ideal para gerenciar documentos confidenciais ou compartilhados sem comprometer a segurança.
  • Não afeta a função Desfazer:
    Com esse recurso, você mantém acesso total à funcionalidade de desfazer do Excel. Isso garante que você possa reverter facilmente as alterações, adicionando uma camada de segurança à manipulação de dados.
  • Desempenho estável com grandes volumes de dados:
    Esse recurso foi projetado para lidar com grandes conjuntos de dados com eficiência, garantindo desempenho estável mesmo em planilhas complexas e com muitos dados.
  • Vários estilos de destaque:
    Este recurso oferece uma variedade de opções de destaque, permitindo que você escolha entre diferentes estilos e cores para destacar sua célula ativa de linha, coluna ou linha e coluna da maneira que melhor atenda às suas preferências e necessidades.
Dicas:
  • Para desativar esse recurso, clique em Kutools > Foco da Grade novamente para fechar esta função;
  • Para aplicar este recurso, por favor baixe e instale o Kutools para Excel em primeiro lugar.

Destacar automaticamente linhas e colunas ativas com formatação condicional

No Excel, você também pode configurar a Formatação Condicional para destacar automaticamente a linha e coluna ativas. Para configurar esse recurso, siga estas etapas:

Etapa 1: selecione o intervalo de dados

Primeiro, selecione o intervalo de células ao qual deseja que esse recurso se aplique. Pode ser a planilha inteira ou um conjunto de dados específico. Aqui, selecionarei a planilha inteira.

Etapa 2: acessar a formatação condicional

Clique Início > Formatação condicional > Nova regra, veja a captura de tela:

Etapa 3: defina as operações na nova regra de formatação

  1. No Nova regra de formatação caixa de diálogo, escolha Use uma fórmula para determinar quais células formatar do Selecione um tipo de regra caixa de listagem.
  2. No Formate os valores onde esta fórmula for verdadeira caixa, insira uma dessas fórmulas, neste exemplo, aplicarei a terceira fórmula para destacar a linha e coluna ativas.
    Para destacar a linha ativa:
    =CELL("row")=ROW()
    Para destacar a coluna ativa:
    =CELL("col")=COLUMN()
    Para destacar linha e coluna ativas:
    =OR(CELL("row")=ROW(), CELL("col")= COLUMN())
  3. Então clique Formato botão.
  4. No que se segue formatar células caixa de diálogo, sob o Preencher guia, escolha uma cor para destacar a linha e coluna ativas conforme necessário, veja a captura de tela:
  5. Então clique OK > OK para fechar os diálogos.

Resultado:

Agora, você pode ver que toda a coluna e linha da célula A1 foram destacadas de uma vez. Para aplicar este destaque a outra célula, basta clicar na célula desejada e pressionar o botão F9 para atualizar a planilha, que destacará toda a coluna e linha da célula recém-selecionada.

Dicas: 
  • Na verdade, embora a abordagem de Formatação Condicional para realce no Excel ofereça uma solução, ela não é tão simples quanto usar VBA e Foco da Grade recurso. Este método necessita de recálculo manual da folha (conseguido pressionando o botão F9 chave).
    Para permitir o recálculo automático de sua planilha, você pode incorporar um código VBA simples no módulo de código de sua planilha de destino. Isso automatizará o processo de atualização, garantindo que o destaque seja atualizado imediatamente conforme você seleciona células diferentes sem pressionar o botão F9 chave. Clique com o botão direito no nome da planilha e escolha Ver código no menu de contexto. Em seguida, copie e cole o seguinte código no módulo de planilha:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Target.Calculate
    End Sub
    
  • A Formatação Condicional preserva a formatação existente que você aplicou manualmente à sua planilha.
  • A formatação condicional é conhecida por ser volátil, especialmente quando aplicada a conjuntos de dados muito grandes. Seu uso extensivo pode potencialmente diminuir o desempenho da sua pasta de trabalho, afetando a eficiência do processamento e da navegação de dados.
  • A função CELL está disponível apenas nas versões 2007 e posteriores do Excel; este método não é compatível com versões anteriores do Excel.

Comparação dos métodos acima

Característica Código VBA Formatação condicional Kutools for Excel
Preservar a cor de fundo da célula Não Sim Sim
Suporta Desfazer Não Sim Sim
Estável em grandes conjuntos de dados Não Não Sim
Utilizável em planilhas protegidas Não Sim Sim
Aplica-se a todas as pastas de trabalho abertas Somente planilha atual Somente planilha atual Todas as pastas de trabalho abertas
Requer atualização manual (F9) Não Sim Não

Isso conclui nosso guia sobre como destacar a coluna e a linha de uma célula selecionada no Excel. Se você estiver interessado em explorar mais dicas e truques do Excel, nosso site oferece milhares de tutoriais, por favor clique aqui para acessá-los. Obrigado por ler e esperamos fornecer mais informações úteis no futuro!


Artigos relacionados:

  • Auto-realçar linha e coluna da célula ativa
  • Quando você visualiza uma planilha grande com vários dados, convém destacar a linha e coluna da célula selecionada para que possa ler os dados de forma fácil e intuitiva para evitar uma leitura incorreta. Aqui, posso apresentar alguns truques interessantes para destacar a linha e coluna da célula atual, quando a célula é alterada, a coluna e a linha da nova célula são realçadas automaticamente.
  • Destaque todas as outras linhas ou colunas no Excel
  • Em uma planilha grande, destacar ou preencher todas as outras ou enésimas linhas ou colunas melhora a visibilidade e a legibilidade dos dados. Isso não apenas torna a planilha mais organizada, mas também ajuda você a entender os dados com mais rapidez. Neste artigo, orientaremos você através de vários métodos para sombrear linhas ou colunas alternadas ou enésimas, ajudando você a apresentar seus dados de uma maneira mais atraente e direta.
  • Destaque a linha inteira/inteira enquanto rola
  • Se você tiver uma planilha grande com várias colunas, será difícil para você distinguir os dados nessa linha. Nesse caso, você pode destacar toda a linha da célula ativa para que possa visualizar os dados dessa linha de forma rápida e fácil ao rolar para baixo a barra de rolagem horizontal. Neste artigo, falarei sobre alguns truques para você resolver este problema .
  • Destacar linhas com base na lista suspensa
  • Este artigo vai falar sobre como destacar linhas com base na lista suspensa, pegue a seguinte captura de tela, por exemplo, quando eu seleciono "Em andamento" na lista suspensa na coluna E, preciso destacar esta linha com a cor vermelha, quando eu selecione “Concluído” na lista suspensa, preciso realçar esta linha com a cor azul e, quando selecionar “Não iniciado”, uma cor verde será usada para realçar a linha.
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