Vai al contenuto principale
Autore: Xiaoyang Ultima modifica: 2023-12-01

Navigare attraverso estesi fogli di lavoro Excel ricchi di dati può essere impegnativo ed è facile perdere traccia della propria posizione o interpretare erroneamente i valori. Per migliorare l'analisi dei dati e ridurre la possibilità di errori, introdurremo 3 diversi modi per evidenziare dinamicamente la riga e la colonna di una cella selezionata in Excel. Mentre ti sposti da una cella all'altra, l'evidenziazione si sposta dinamicamente, fornendo un segnale visivo chiaro e intuitivo per mantenerti concentrato sui dati corretti, come mostrato nella seguente demo:

Evidenzia automaticamente la riga e la colonna attive in Excel


Video: evidenzia automaticamente la riga e la colonna attive in Excel


Evidenzia automaticamente la riga e la colonna attive con il codice VBA

Per evidenziare automaticamente l'intera colonna e riga della cella selezionata nel foglio di lavoro corrente, il seguente codice VBA può aiutarti a raggiungere questa attività.

Passaggio 1: apri il foglio di lavoro in cui desideri evidenziare automaticamente la riga e la colonna attive

Passaggio 2: apri l'editor del modulo foglio VBA e copia il codice

  1. Fare clic con il tasto destro sul nome del foglio e scegliere Visualizza codice dal menu contestuale, vedi screenshot:
  2. Nell'editor del modulo foglio VBA aperto, copia e incolla il seguente codice nel modulo vuoto. Vedi schermata:
    Codice VBA: evidenzia automaticamente la riga e la colonna della cella selezionata
    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
    
    Suggerimenti: personalizza il codice
    • Per cambiare il colore dell'evidenziazione, devi semplicemente modificare il valore RGB nei seguenti script:
      rigaIntervallo.Interno.Colore = RGB(248, 150, 171)
      colRange.Interno.Colore = RGB(173, 233, 249)
    • Per evidenziare solo l'intera riga della cella selezionata, rimuovi o commenta (aggiungi un apostrofo all'inizio di) questa riga:
      colRange.Interno.Colore = RGB(173, 233, 249)
    • Per evidenziare solo l'intera colonna della cella selezionata, rimuovi o commenta (aggiungi un apostrofo all'inizio di) questa riga:
      rigaIntervallo.Interno.Colore = RGB(248, 150, 171)

  3. Quindi, chiudi la finestra dell'editor VBA per tornare al foglio di lavoro.

Risultato:

Ora, quando selezioni una cella, l'intera riga e colonna di quella cella vengono automaticamente evidenziate e l'evidenziazione si sposta dinamicamente man mano che la cella selezionata cambia, come mostrato nella demo seguente:

Note:
  • Questo codice cancellerà i colori di sfondo da tutte le celle del foglio di lavoro, quindi evita di utilizzare questa soluzione se hai celle con colorazione personalizzata.
  • L'esecuzione di questo codice disabiliterà il Disfare nel foglio, il che significa che non è possibile annullare eventuali errori premendo il pulsante Ctrl + Z scorciatoia.
  • Questo codice non funzionerà in un foglio di lavoro protetto.
  • Per smettere di evidenziare la riga e la colonna della cella selezionata, dovrai rimuovere il codice VBA aggiunto in precedenza. Successivamente, per reimpostare l'evidenziazione facendo clic Casa > Colore di riempimento > Nessun riempimento.

Evidenzia automaticamente la riga e la colonna attive con un solo clic di Kutools

Di fronte alle limitazioni del codice VBA in Excel? Kutools per Excel's Messa a fuoco della griglia caratteristica è la soluzione ideale! Progettato per risolvere le carenze di VBA, offre una vasta gamma di stili di evidenziazione per migliorare la tua esperienza con i fogli. Grazie alla capacità di applicare questi stili a tutte le cartelle di lavoro aperte, Kutools garantisce un processo di gestione dei dati costantemente efficiente e visivamente accattivante.

Note:: Se vuoi usare questo Messa a fuoco della griglia caratteristica, per favore scarica e installa Kutools per Excel prima.

Dopo l'installazione Kutools for Excel, Si prega di fare clic su Kutools > Messa a fuoco della griglia per abilitare questa funzione. Ora puoi vedere la riga e la colonna della cella attiva evidenziate immediatamente. Questa evidenziazione si sposta dinamicamente per seguire man mano che modifichi la selezione della cella. Guarda la demo qui sotto:

Principali vantaggi della funzionalità Grid Focus:
  • Conserva i colori di sfondo della cella originali:
    A differenza del codice VBA, questa funzionalità rispetta la formattazione esistente del tuo foglio di lavoro.
  • Utilizzabile in lastre protette:
    Questa funzionalità funziona perfettamente all'interno dei fogli di lavoro protetti, rendendola ideale per la gestione di documenti sensibili o condivisi senza compromettere la sicurezza.
  • Non influisce sulla funzione Annulla:
    Con questa funzione, mantieni l'accesso completo alla funzionalità di annullamento di Excel. Ciò garantisce che tu possa facilmente annullare le modifiche, aggiungendo un livello di sicurezza alla manipolazione dei dati.
  • Prestazioni stabili con dati di grandi dimensioni:
    Questa funzionalità è progettata per gestire in modo efficiente set di dati di grandi dimensioni, garantendo prestazioni stabili anche in fogli di calcolo complessi e ad alta intensità di dati.
  • Stili di evidenziazione multipli:
    Questa funzione offre una varietà di opzioni di evidenziazione, consentendoti di scegliere tra diversi stili e colori per far risaltare la cella attiva di riga, colonna o riga e colonna nel modo che meglio si adatta alle tue preferenze ed esigenze.
Suggerimenti:
  • Per disattivare questa funzione, fare clic su Kutools > Messa a fuoco della griglia di nuovo per chiudere questa funzione;
  • Per applicare questa funzione, per favore scarica e installa Kutools per Excel prima.

Evidenzia automaticamente la riga e la colonna attive con la formattazione condizionale

In Excel, puoi anche impostare la formattazione condizionale per evidenziare automaticamente la riga e la colonna attive. Per impostare questa funzione, segui questi passaggi:

Passaggio 1: seleziona l'intervallo di dati

Innanzitutto, seleziona l'intervallo di celle a cui desideri applicare questa funzionalità. Potrebbe trattarsi dell'intero foglio di lavoro o di un set di dati specifico. Qui selezionerò l'intero foglio di lavoro.

Passaggio 2: accedi alla formattazione condizionale

Clicchi Casa > Formattazione condizionale > Nuova regola, vedi screenshot:

Passaggio 3: impostare le operazioni nella nuova regola di formattazione

  1. Nel Nuova regola di formattazione finestra di dialogo, scegliere Utilizzare una formula per determinare quali celle formattare dal Seleziona un tipo di regola casella di riepilogo.
  2. Nel Formatta i valori in cui questa formula è vera casella, inserisci una di queste formule, in questo esempio applicherò la terza formula per evidenziare la riga e la colonna attive.
    Per evidenziare la riga attiva:
    =CELL("row")=ROW()
    Per evidenziare la colonna attiva:
    =CELL("col")=COLUMN()
    Per evidenziare la riga e la colonna attive:
    =OR(CELL("row")=ROW(), CELL("col")= COLUMN())
  3. Quindi, fare clic Formato pulsante.
  4. Nella seguente formato celle finestra di dialogo, sotto il file Riempire scheda, scegli un colore per evidenziare la riga e la colonna attive di cui hai bisogno, vedi screenshot:
  5. Quindi, fare clic OK > OK per chiudere le finestre di dialogo.

Risultato:

Ora puoi vedere che l'intera colonna e riga della cella A1 sono state evidenziate contemporaneamente. Per applicare questa evidenziazione a un'altra cella, fai semplicemente clic sulla cella desiderata e premi il pulsante F9 tasto per aggiornare il foglio, che evidenzierà quindi l'intera colonna e riga della cella appena selezionata.

Suggerimenti: 
  • In effetti, sebbene l'approccio della formattazione condizionale per l'evidenziazione in Excel offra una soluzione, non è così semplice come l'utilizzo VBA ed Messa a fuoco della griglia caratteristica. Questo metodo richiede il ricalcolo manuale del foglio (ottenibile premendo il tasto F9 chiave).
    Per abilitare il ricalcolo automatico del tuo foglio di lavoro, puoi incorporare un semplice codice VBA nel modulo di codice del tuo foglio di destinazione. Ciò automatizzerà il processo di aggiornamento, garantendo che l'evidenziazione venga aggiornata immediatamente quando si selezionano celle diverse senza premere il tasto F9 chiave. Fare clic con il pulsante destro del mouse sul nome del foglio, quindi scegliere Visualizza codice dal menu contestuale. Quindi copia e incolla il seguente codice nel modulo del foglio:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Target.Calculate
    End Sub
    
  • La formattazione condizionale preserva la formattazione esistente applicata manualmente al foglio di lavoro.
  • La formattazione condizionale è nota per essere volatile, soprattutto se applicata a set di dati di grandi dimensioni. Il suo utilizzo estensivo può potenzialmente rallentare le prestazioni della cartella di lavoro, compromettendo l'efficienza dell'elaborazione e della navigazione dei dati.
  • La funzione CELLA è disponibile solo nelle versioni Excel 2007 e successive, questo metodo non è compatibile con le versioni precedenti di Excel.

Confronto dei metodi di cui sopra

caratteristica Codice VBA Formattazione condizionale Kutools for Excel
Conserva il colore dello sfondo della cella Non
Supporta l'annullamento Non
Stabile in set di dati di grandi dimensioni Non Non
Utilizzabile in fogli protetti Non
Si applica a tutte le cartelle di lavoro aperte Solo il foglio corrente Solo il foglio corrente Tutte le cartelle di lavoro aperte
Richiede l'aggiornamento manuale (F9) Non Non

Questo conclude la nostra guida su come evidenziare la colonna e la riga di una cella selezionata in Excel. Se sei interessato a esplorare ulteriori suggerimenti e trucchi su Excel, il nostro sito Web offre migliaia di tutorial, per favore clicca qui per accedervi. Grazie per aver letto e non vediamo l'ora di fornirti informazioni più utili in futuro!


Articoli Correlati:

  • Evidenzia automaticamente riga e colonna della cella attiva
  • Quando visualizzi un foglio di lavoro di grandi dimensioni con numerosi dati, potresti voler evidenziare la riga e la colonna della cella selezionata in modo da poter leggere facilmente e intuitivamente i dati per evitare di leggerli male. Qui, posso presentarti alcuni trucchi interessanti per evidenziare la riga e la colonna della cella corrente, quando la cella viene modificata, la colonna e la riga della nuova cella vengono evidenziate automaticamente.
  • Evidenzia ogni altra riga o colonna in Excel
  • In un foglio di lavoro di grandi dimensioni, evidenziare o riempire ogni altra riga o colonna o ogni n-esima riga o colonna migliora la visibilità e la leggibilità dei dati. Non solo rende il foglio di lavoro più ordinato, ma ti aiuta anche a comprendere i dati più velocemente. In questo articolo ti guideremo attraverso vari metodi per ombreggiare ogni altra o l'ennesima riga o colonna, aiutandoti a presentare i tuoi dati in un modo più accattivante e diretto.
  • Evidenzia l'intera/intera riga durante lo scorrimento
  • Se si dispone di un foglio di lavoro di grandi dimensioni con più colonne, sarà difficile distinguere i dati su quella riga. In questo caso, puoi evidenziare l'intera riga della cella attiva in modo da poter visualizzare rapidamente e facilmente i dati in quella riga quando scorri verso il basso la barra di scorrimento orizzontale. In questo articolo, parlerò di alcuni trucchi per risolvere questo problema .
  • Evidenzia le righe in base all'elenco a discesa
  • Questo articolo parlerà di come evidenziare le righe in base all'elenco a discesa, ad esempio prendere la seguente schermata, quando seleziono "In corso" dall'elenco a discesa nella colonna E, devo evidenziare questa riga con il colore rosso, quando ho seleziona "Completato" dall'elenco a discesa, devo evidenziare questa riga con il colore blu e quando seleziono "Non avviato", verrà utilizzato un colore verde per evidenziare la riga.
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