Come evidenziare la riga e la colonna attiva in Excel

  • Condividi Questo
Michael Brown

In questa esercitazione imparerete 3 modi diversi per evidenziare dinamicamente la riga e la colonna di una cella selezionata in Excel.

Quando si visualizza a lungo un foglio di lavoro di grandi dimensioni, si può perdere la cognizione di dove si trova il cursore e di quali dati si stanno guardando. Per sapere esattamente dove ci si trova in qualsiasi momento, fate in modo che Excel evidenzi automaticamente la riga e la colonna attiva per voi! Naturalmente, l'evidenziazione deve essere dinamica e cambiare ogni volta che si seleziona un'altra cella. In sostanza, questo è l'obiettivo che ci proponiamo di raggiungere:

    Evidenziare automaticamente riga e colonna della cella selezionata con VBA

    Questo esempio mostra come sia possibile evidenziare una colonna e una riga attiva in modo programmatico con VBA. A tale scopo, si utilizzerà il comando SelezioneCambiamento dell'evento Foglio di lavoro oggetto.

    Per prima cosa, si cancella il colore di sfondo di tutte le celle del foglio impostando il parametro Indice di colore a 0. Quindi, si evidenzia l'intera riga e colonna della cella attiva impostando la proprietà Indice di colore al numero di indice del colore desiderato.

    Private Sub Worksheet_SelectionChange( ByVal Target As Range) If Target.Cells.Count> 1 Then Exit Sub Application.ScreenUpdating = False 'Cancella il colore di tutte le celle Cells.Interior.ColorIndex = 0 With Target 'Evidenzia riga e colonna della cella selezionata .EntireRow.Interior.ColorIndex = 38 .EntireColumn.Interior.ColorIndex = 24 End With Application.ScreenUpdating = True End Sub

    Personalizzazione del codice

    Se desiderate personalizzare il codice per le vostre esigenze, questi piccoli suggerimenti possono esservi utili:

    • Il nostro codice di esempio utilizza due colori diversi, come mostrato nella gif precedente: indice di colore 38 per la riga e 24 per la colonna. A cambiare il colore di evidenziazione è sufficiente sostituirli con qualsiasi codice ColorIndex di vostra scelta.
    • Per ottenere la riga e la colonna colorate nel file allo stesso modo utilizzare lo stesso numero di indice del colore per entrambi.
    • Per evidenziare solo il riga attiva rimuovere o commentare questa riga: .EntireColumn.Interior.ColorIndex = 24
    • Per evidenziare solo il colonna attiva rimuovere o commentare questa riga: .EntireRow.Interior.ColorIndex = 38

    Come aggiungere il codice al foglio di lavoro

    Per fare in modo che il codice venga eseguito silenziosamente in background in uno specifico foglio di lavoro, è necessario inserirlo nella finestra del codice appartenente a quel foglio di lavoro, non nel modulo normale. Per farlo, eseguite i seguenti passaggi:

    1. Nella cartella di lavoro, premere Alt + F11 per accedere all'editor VBA.
    2. Nell'Esploratore progetto a sinistra, viene visualizzato un elenco di tutte le cartelle di lavoro aperte e dei relativi fogli di lavoro. Se non lo si vede, utilizzare la scorciatoia Ctrl + R per visualizzare la finestra Esploratore progetto.
    3. Individuare la cartella di lavoro di destinazione. Oggetti di Microsoft Excel fare doppio clic sul foglio in cui si desidera applicare l'evidenziazione. In questo esempio, si tratta di Scheda 1 .
    4. Nella finestra del codice a destra, incollare il codice precedente.
    5. Salvare il file come Cartella di lavoro abilitata alle macro (.xlsm).

    Vantaggi : tutto avviene nel backend; non sono necessarie modifiche/personalizzazioni da parte dell'utente; funziona con tutte le versioni di Excel.

    Svantaggi Ci sono due aspetti negativi essenziali che rendono questa tecnica inapplicabile in alcune circostanze:

    • Il codice cancella i colori di sfondo di tutte le celle del foglio di lavoro. Se avete celle colorate, non utilizzate questa soluzione perché la formattazione personalizzata andrà persa.
    • Esecuzione di questo codice blocchi la funzionalità di annullamento sul foglio e non sarà possibile annullare un'azione errata premendo Ctrl + Z .

    Evidenziare la riga e la colonna attiva senza VBA

    Il modo migliore per evidenziare la riga e/o la colonna selezionata senza VBA è la formattazione condizionale di Excel. Per configurarla, eseguite i seguenti passaggi:

    1. Selezionare il set di dati in cui deve essere eseguita l'evidenziazione.
    2. Sul Casa nella scheda Stili gruppo, fare clic su Nuova regola .
    3. Nel Nuova regola di formattazione scegliere la finestra di dialogo Utilizzate una formula per determinare quali celle formattare .
    4. Nel Formatta i valori in cui questa formula è vera inserire una delle seguenti formule:

      Per evidenziare riga attiva :

      =CELL("riga")=ROW()

      Per evidenziare colonna attiva :

      =CELLA("col")=COLONNA()

      Per evidenziare riga e colonna attive :

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

      Tutte le formule utilizzano la funzione CELL per restituire il numero di riga/colonna della cella selezionata.

    5. Fare clic sul pulsante Formato passare al pulsante Riempimento e selezionare il colore desiderato.
    6. Fare clic due volte su OK per chiudere entrambe le finestre di dialogo.

    Se ritenete di aver bisogno di istruzioni più dettagliate, consultate Come creare una regola di formattazione condizionale basata su una formula.

    Per questo esempio, abbiamo optato per la formula OR per ombreggiare sia la colonna che la riga con lo stesso colore, che richiede meno lavoro ed è adatta alla maggior parte dei casi.

    Sfortunatamente, questa soluzione non è bella come quella di VBA perché richiede ricalcolo manuale del foglio (premendo il tasto F9). Per impostazione predefinita, Excel ricalcola un foglio di lavoro solo dopo l'inserimento di nuovi dati o la modifica di quelli esistenti, ma non quando cambia la selezione. Quindi, se si seleziona un'altra cella, non succede nulla. Premendo F9, il foglio viene aggiornato, la formula viene ricalcolata e l'evidenziazione viene aggiornata.

    Per far sì che il foglio di lavoro venga ricalcolato automaticamente ogni volta che l'opzione SelezioneCambiamento è possibile inserire questo semplice codice VBA nel modulo del codice del foglio di destinazione, come spiegato nell'esempio precedente:

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

    Il codice forza il ricalcolo dell'intervallo/cellula selezionato, che a sua volta forza la funzione CELL ad aggiornarsi e la formattazione condizionale a riflettere la modifica.

    Vantaggi A differenza del metodo precedente, questo non influisce sulla formattazione esistente applicata manualmente.

    Svantaggi : può peggiorare le prestazioni di Excel.

    • Affinché la formattazione condizionale funzioni, è necessario forzare Excel a ricalcolare la formula a ogni cambio di selezione (manualmente con il tasto F9 o automaticamente con VBA). I ricalcoli forzati possono rallentare Excel. Poiché il nostro codice ricalcola la selezione anziché l'intero foglio, un effetto negativo si noterà probabilmente solo su cartelle di lavoro molto grandi e complesse.
    • Poiché la funzione CELL è disponibile in Excel 2007 e versioni successive, il metodo non funziona nelle versioni precedenti.

    Evidenziare la riga e la colonna selezionate utilizzando la formattazione condizionale e VBA

    Nel caso in cui il metodo precedente rallenti notevolmente la cartella di lavoro, è possibile affrontare il compito in modo diverso: invece di ricalcolare il foglio di lavoro a ogni spostamento dell'utente, ottenete il numero di riga/colonna attivo con l'aiuto di VBA, quindi inviate tale numero alla funzione ROW() o COLUMN() utilizzando formule di formattazione condizionale.

    Per ottenere questo risultato, ecco i passi da seguire:

    1. Aggiungete un nuovo foglio vuoto alla cartella di lavoro e chiamatelo Scheda aiutante L'unico scopo di questo foglio è quello di memorizzare due numeri che rappresentano la riga e la colonna contenenti una cella selezionata, in modo da poter nascondere il foglio in un secondo momento.
    2. Inserite il seguente VBA nella finestra del codice del foglio di lavoro in cui desiderate implementare l'evidenziazione. Per le istruzioni dettagliate, fate riferimento al nostro primo esempio. 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= Vero Fine Sub

      Il codice precedente inserisce le coordinate della riga e della colonna attive nel foglio denominato "Foglio di aiuto". Se il foglio è stato denominato in modo diverso nel passaggio 1, modificare il nome del foglio di lavoro nel codice. Il numero della riga viene scritto in A2 e il numero della colonna in B2.

    3. Nel foglio di lavoro di destinazione, selezionare l'intero set di dati e creare una regola di formattazione condizionale con le formule riportate di seguito. L'esempio precedente fornisce una guida passo-passo.

    Ora analizziamo in dettaglio i tre casi d'uso principali.

    Come evidenziare la riga attiva

    Per evidenziare la riga in cui si trova il cursore al momento, impostare una regola di formattazione condizionale con questa formula:

    =ROW()='Foglio di aiuto'!$A$2

    Di conseguenza, l'utente può vedere chiaramente quale riga è attualmente selezionata:

    Come evidenziare la colonna attiva

    Per evidenziare la colonna selezionata, inserire il numero della colonna nella funzione COLONNA utilizzando questa formula:

    =COLOMBO()='Foglio di aiuto'!$B$2

    Ora, una colonna evidenziata consente di leggere comodamente e senza sforzo i dati verticali concentrandosi interamente su di essi.

    Come evidenziare la riga e la colonna attiva

    Per ottenere un'ombreggiatura automatica dello stesso colore sia per la riga che per la colonna selezionate, combinate le funzioni ROW() e COLUMN() in un'unica formula:

    =OR(ROW()='Foglio di aiuto'!$A$2, COLUMN()='Foglio di aiuto'!$B$2)

    I dati rilevanti vengono immediatamente messi a fuoco, in modo da evitare errori di lettura.

    Vantaggi : prestazioni ottimizzate; funziona in tutte le versioni di Excel

    Svantaggi : la configurazione più lunga

    Ecco come evidenziare la colonna e la riga di una cella selezionata in Excel. Vi ringrazio per la lettura e vi aspetto sul nostro blog la prossima settimana!

    Eserciziario da scaricare

    Evidenziazione della riga e della colonna attiva (file .xlsm)

    Michael Brown è un appassionato di tecnologia dedicato con una passione per la semplificazione di processi complessi utilizzando strumenti software. Con oltre un decennio di esperienza nel settore tecnologico, ha affinato le sue competenze in Microsoft Excel e Outlook, nonché in Fogli Google e Documenti. Il blog di Michael è dedicato alla condivisione delle sue conoscenze e competenze con gli altri, fornendo suggerimenti e tutorial facili da seguire per migliorare la produttività e l'efficienza. Che tu sia un professionista esperto o un principiante, il blog di Michael offre spunti preziosi e consigli pratici per ottenere il massimo da questi strumenti software essenziali.