Skip to main content

Come annerire le celle in base a un'altra colonna o alla scelta di una lista a discesa in Excel?

Author: Sun Last Modified: 2025-07-21

In attività pratiche di Excel, ci sono spesso scenari in cui è necessario rendere i dati visivamente più evidenti o meno prominenti in base al valore di una cella correlata. Un requisito comune è quello di "annerire" automaticamente (oscurare o disattivare visivamente) determinate celle quando un'altra colonna contiene un valore specifico o quando viene effettuata una selezione da una lista a discesa.
Questa formattazione dinamica rende più facile interpretare grandi set di dati, aiuta il flusso di lavoro dove è necessario limitare l'input, o chiarisce quali elementi non sono attualmente azionabili. Ad esempio, una colonna dello stato del progetto potrebbe attivare l'annerimento della descrizione di un compito se lo stato è "Completato".
Questo articolo introduce diversi modi efficaci per annerire le celle basandosi sui valori di un'altra colonna o su una scelta da una lista a discesa in Excel, coprendo sia la formattazione condizionale standard che approcci VBA avanzati per requisiti complessi. Troverete anche suggerimenti per la risoluzione dei problemi e consigli pratici lungo il percorso.
grey out cells based on another column

Annerisci le celle in base a un'altra colonna o a una scelta da una lista a discesa

VBA: Automatizza l'annerimento delle celle basandosi su un'altra colonna o lista a discesa


arrow blue right bubble Annerisci le celle in base a un'altra colonna o a una scelta da una lista a discesa

Supponiamo di avere due colonne: la colonna A contiene i tuoi dati principali (come attività o descrizioni), e la colonna B contiene indicatori di stato o flag (come "SÌ"/"NO", o selezioni da una lista a discesa). Potresti voler visualmente annerire gli elementi nella colonna A in base ai valori nella colonna B. Ad esempio, quando una cella nella colonna B mostra "SÌ", la cella corrispondente nella colonna A apparirà annerita, segnandola come inattiva o completata. Se la colonna B contiene qualcosa di diverso da "SÌ", la colonna A mantiene il suo aspetto normale.

Questo approccio è adatto per fogli di gestione delle attività, checklist, flussi di lavoro, o qualsiasi foglio in cui lo stato in una colonna controlla la formattazione in un'altra. Mantiene i tuoi dati organizzati e facili da usare, ma si basa su colonne ben strutturate e allineate (assicurati che le righe corrispondano correttamente).

1. Seleziona le celle nella colonna A che desideri annerire automaticamente in base all'altra colonna. Ad esempio, seleziona A2:A100 (seleziona solo le celle che corrispondono all'intervallo utilizzato nella colonna B). Poi vai su Home > Formattazione condizionale > Nuova regola.
click Home > Conditional Formatting > New Rule

2. Nella finestra Nuova regola di formattazione, fai clic su Utilizza una formula per determinare le celle da formattare. Inserisci questa formula =B2="SÌ" nel campo Formatta i valori in cui questa formula è vera, che verifica se il valore nella cella corrispondente della colonna B è "SÌ":

3. Poi, fai clic sul pulsante Formato Nella finestra Formato celle scegli un colore grigio trovato nella scheda Riempimento Questo sarà il colore di sfondo utilizzato per l'annerimento.
specify options in the New Formatting Rule dialog

4. Dopo aver impostato il colore, fai clic su OK per chiudere la finestra Formato celle, e poi fai clic su OK di nuovo per applicare la tua nuova regola di formattazione.
the cells have been greyed out based on another column values

Da ora in poi, ogni volta che la colonna B mostra "SÌ", la cella corrispondente nella colonna A apparirà annerita. Se la colonna B viene cambiata in un altro valore (come "NO" o vuota), l'aspetto della colonna A torna alla normalità. Questo metodo è istantaneo e non richiede alcun aggiornamento manuale dopo l'impostazione.

Consigli: Per applicare questo metodo con una lista a discesa nella colonna B, il processo è simile. Questo approccio è particolarmente utile quando la colonna di controllo utilizza scelte standardizzate, come lo stato del progetto ("In corso", "Completato"), caselle di controllo ("Fatto", "In sospeso"), o liste di validazione con valori consentiti specifici.

Per creare una lista a discesa nella colonna B (la colonna di controllo):

  1. Seleziona le celle nella colonna B dove desideri un menu a discesa.
  2. Fai clic su Dati > Convalida dati.
  3. Nella finestra di dialogo Convalida dati, scegli Elenco dal menu a discesa Consenti Nella casella Origine digita o seleziona un intervallo di celle contenente i valori consentiti (ad esempio, SÌ,NO).
    create a drop down list in the Data Validation dialog

Ora, hai una lista a discesa in ogni cella della colonna B, permettendo agli utenti di scegliere tra opzioni predefinite:
the drop down list has been created

Ripeti l'impostazione della Formattazione condizionale come sopra, usando una formula che corrisponde all'elemento che desideri attivare la formattazione grigia (ad esempio, =B2="SÌ"Dopo aver applicato la formattazione condizionale, le tue celle target nella colonna A si anneriranno automaticamente ogni volta che "SÌ" viene selezionato nella lista a discesa della colonna B.
repeat the steps to get the result

Altri consigli e precauzioni:
- Assicurati che l'intervallo di formattazione condizionale nella colonna A corrisponda all'area dati e sia allineato con i riferimenti della colonna B. Se cadono fuori sincrono, la formattazione potrebbe non essere applicata come previsto.
- Quando copi o riempi dati nelle colonne, controlla che i riferimenti (ad esempio, B2) si aggiornino in modo appropriato.
- Per ottenere i migliori risultati, cancella qualsiasi vecchia formattazione dai tuoi intervalli prima di applicare nuove regole.
- Per rimuovere l'effetto annerito, cambia il valore trigger nella colonna B o elimina la regola di formattazione condizionale.
- Se il tuo foglio di lavoro è condiviso, assicurati che gli utenti sappiano quali valori attiveranno il formato.

Se la formattazione condizionale non funziona come previsto, verifica che le celle nella colonna B contengano esattamente i valori che la formula sta testando (nessuno spazio extra, caso corretto se non si usa la corrispondenza esatta, e validazione contro caratteri nascosti).

a screenshot of kutools for excel ai

Sblocca la Magia di Excel con Kutools AI

  • Esecuzione Intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici — tutto guidato da semplici comandi.
  • Formule Personalizzate: Genera formule su misura per ottimizzare i tuoi flussi di lavoro.
  • Codifica VBA: Scrivi e implementa codice VBA senza sforzo.
  • Interpretazione delle Formule: Comprendi facilmente formule complesse.
  • Traduzione del Testo: Superare le barriere linguistiche all'interno dei tuoi fogli di calcolo.
Potenzia le tue capacità di Excel con strumenti alimentati dall'IA. Scarica Ora ed esperisci un'efficienza mai vista prima!

arrow blue right bubble VBA: Automatizza l'annerimento delle celle basandosi su un'altra colonna o lista a discesa

Per scenari più avanzati, come l'applicazione batch della formattazione, la gestione di più e più complesse condizioni, o quando le regole e i limiti della formattazione condizionale non soddisfano i tuoi requisiti, puoi utilizzare il codice VBA per automatizzare l'annerimento delle celle.

Casi d'uso comuni:
- Annerire automaticamente intere righe o intervalli specifici basandosi su selezioni da liste a discesa o qualsiasi logica legata a un'altra colonna.
- Garantire che la formattazione rimanga coerente anche dopo importazioni di dati o aggiornamenti guidati da macro.
- Applicare stati condizionali multipli che superano i limiti della formattazione condizionale incorporata.

1. Fai clic su Strumenti di sviluppo > Visual Basic per aprire l'editor VBA (Alt+F11 è una scorciatoia). Nella finestra VBA, fai clic su Inserisci > Modulo. Nel nuovo modulo, copia e incolla il seguente codice:

Sub GreyOutCellsBasedOnAnotherColumn()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim checkCol As String
    Dim dataCol As String
    Dim i As Long
    Dim triggerValue As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    '----- Set parameters here -----
    Set ws = ActiveSheet ' Or: Set ws = ThisWorkbook.Sheets("Sheet1")
    checkCol = "B" ' Column to check (e.g., B)
    dataCol = "A" ' Column to grey out (e.g., A)
    triggerValue = "YES" ' Value that triggers grey out. Change as needed: "YES", "Complete", etc.

    '----- Find last row in the check column -----
    lastRow = ws.Cells(ws.Rows.Count, checkCol).End(xlUp).Row
    
    For i = 2 To lastRow ' Assumes header in row 1
        If ws.Cells(i, checkCol).Value = triggerValue Then
            ws.Cells(i, dataCol).Interior.Color = RGB(191, 191, 191) ' Grey fill
        Else
            ws.Cells(i, dataCol).Interior.ColorIndex = xlNone ' Remove fill if condition not met
        End If
    Next i
End Sub

2. Per eseguire la macro, premi F5 con la finestra del codice attiva. La macro scorre ogni riga nel tuo foglio di lavoro—partendo dalla riga 2 (quindi la prima riga può rimanere un'intestazione)—e controlla la colonna B per il valore trigger (di default, "SÌ"). Se lo trova, riempie la cella corrispondente nella colonna A di grigio. Se il valore trigger è assente, qualsiasi riempimento grigio precedente viene rimosso (ripristinando l'aspetto predefinito della cella).

Puoi personalizzare i seguenti parametri nel codice:

  • checkCol: Colonna da controllare (ad esempio, "B")
  • dataCol: Colonna da annerire (ad esempio, "A")
  • triggerValue: Valore da abbinare per il riempimento grigio (ad esempio, "SÌ", "Completato", qualsiasi valore nella tua lista)

Avvertenze e suggerimenti:

  • Questa macro cambia permanentemente gli sfondi delle celle. Se vuoi che i colori si aggiornino in tempo reale mentre modifichi i dati, considera di rieseguire la macro dopo ogni aggiornamento o utilizzare lo scripting dell'evento Worksheet_Change (solo per utenti avanzati).
  • Questo approccio non è influenzato dal numero di celle o dai limiti delle regole di formattazione condizionale, quindi è ideale per intervalli dinamici ampi o molte condizioni.
  • Se attivi accidentalmente la macro e vuoi rimuovere i riempimenti grigi, eseguila di nuovo dopo aver cancellato o modificato i valori rilevanti.
  • Puoi estendere l'istruzione If per aggiungere più condizioni (ad esempio, annerire in base a scelte multiple, colonne aggiuntive o logiche più complesse).

Usare VBA per annerire manualmente o automaticamente le celle offre la massima flessibilità per soluzioni Excel complesse, su larga scala o altamente personalizzate.

I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l'analisi dei dati grazie a: Esecuzione Intelligente | Genera Codice | Crea Formule Personalizzate | Analizza Dati e Genera Grafici | Richiama Funzioni avanzate di Kutools
Funzionalità popolari: Trova, evidenzia o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda...
Super RICERCA.VERT: Ricerca VERT con criteri multipli | Ricerca VERT con valori multipli | Ricerca su più fogli | Corrispondenza approssimativa...
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa multi-selezione...
Gestione Colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Attiva/disattiva la visibilità delle colonne nascoste | Confronta intervalli e colonne...
Funzionalità in evidenza: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestione Cartella di lavoro e Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email tramite elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...) ...
Top15 set di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule pratiche (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci Immagine da percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti di unione e divisione (Unione avanzata righe, Dividi celle, ...) | ... e molto altro

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
  • Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!