Skip to main content

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

Author: Sun Last Modified: 2025-08-06

Nei compiti pratici di Excel, spesso ci si trova in situazioni in cui è necessario rendere i dati visivamente più evidenti o meno prominenti a seconda del valore di una cella correlata. Una richiesta comune è quella di oscurare automaticamente (diminuire o disattivare visivamente) determinate celle quando un'altra colonna contiene un valore specifico o quando viene effettuata una selezione da una lista a discesa.
Questo tipo di 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'oscuramento della descrizione di un'attività se lo stato è "Completato".
Questo articolo introduce diversi modi efficaci per oscurare le celle basandosi sui valori di un'altra colonna o sulla scelta di una lista a discesa in Excel, coprendo sia la formattazione condizionale standard che approcci VBA più 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

Oscura le celle in base a un'altra colonna o alla scelta di una lista a discesa

VBA: Automatizza l'oscuramento delle celle in base a un'altra colonna o a una lista a discesa


arrow blue right bubble Oscura le celle in base a un'altra colonna o alla scelta di una lista a discesa

Supponiamo di avere due colonne: la colonna A contiene i dati principali (ad esempio, attività o descrizioni), e la colonna B contiene indicatori di stato o flag (come "SÌ"/"NO", o selezioni da una lista a discesa). Potreste voler oscurare visivamente 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à oscurata, segnalando che è inattiva o completata. Se la colonna B contiene qualcosa di diverso da "SÌ", la colonna A mantiene l'aspetto normale.

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

1. Selezionate le celle nella colonna A che desiderate oscurare automaticamente in base all'altra colonna. Ad esempio, selezionate A2:A100 (selezionate solo le celle che corrispondono all'intervallo utilizzato nella colonna B). Poi andate su Home > Formattazione Condizionale > Nuova Regola.
click Home > Conditional Formatting > New Rule

2. Nella finestra Nuova Regola di Formattazione, cliccate Usa una formula per determinare quali celle formattare. Inserite 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, cliccate il pulsante Formato Nella finestra Formato Celle scegliete un colore grigio trovato nella scheda Riempimento Questa sarà il colore di sfondo utilizzato per oscurare.
specify options in the New Formatting Rule dialog

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

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

Consigli: Per applicare questo 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 Attesa"), o liste di validazione con valori consentiti specifici.

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

  1. Selezionate le celle nella colonna B dove volete un menu a discesa.
  2. Cliccate Dati > Convalida Dati.
  3. Nella finestra di dialogo Convalida Dati, scegliete Elenco dal menu a discesa Consenti Nel campo Origine digitate o selezionate un intervallo di celle contenente i valori consentiti (ad esempio, SÌ,NO).
    create a drop down list in the Data Validation dialog

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

Ripetete la configurazione della Formattazione Condizionale come sopra, usando una formula che corrisponde all'elemento che desiderate attivare la formattazione grigia (ad esempio, =B2="SÌ"Dopo aver applicato la formattazione condizionale, le celle target nella colonna A si oscureranno 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:
- Assicuratevi 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 copiate o riempite dati nelle colonne, verificate che i riferimenti (ad esempio, B2) si aggiornino correttamente.
- Per ottenere i migliori risultati, cancellate qualsiasi vecchia formattazione dai vostri intervalli prima di applicare nuove regole.
- Per rimuovere l'effetto oscurato, cambiate il valore trigger della regola nella colonna B o eliminate la regola di formattazione condizionale.
- Se il vostro foglio di lavoro è condiviso, assicuratevi che gli utenti sappiano quali valori attiveranno il formato.

Se la formattazione condizionale non funziona come previsto, verificate che le celle nella colonna B contengano esattamente i valori che la formula sta testando (nessuno spazio extra, maiuscole minuscole corrette se non usate 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'oscuramento delle celle in base a un'altra colonna o a una lista a discesa

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

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

1. Cliccate Strumenti Sviluppatore > Visual Basic per aprire l'editor VBA (Alt+F11 è una scorciatoia). Nella finestra VBA, cliccate Inserisci > Modulo. Nel nuovo modulo, copiate e incollate 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, premete F5 con la finestra del codice attiva. La macro scorre ogni riga nel vostro foglio di lavoro—partendo dalla riga 2 (così 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).

Potete personalizzare i seguenti parametri nel codice:

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

Avvertenze e consigli:

  • Questa macro cambia permanentemente gli sfondi delle celle. Se desiderate che i colori si aggiornino in tempo reale mentre cambiate i dati, considerate di rieseguire la macro dopo ogni aggiornamento o utilizzate la programmazione 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 attivate accidentalmente la macro e volete rimuovere i riempimenti grigi, basta eseguirla di nuovo dopo aver cancellato o modificato i valori pertinenti.
  • Potete estendere l'istruzione If per aggiungere più condizioni (ad esempio, oscurare in base a più scelte, colonne aggiuntive o logiche più complesse).

Utilizzare VBA per oscurare 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
Funzionalità popolari: Trova, evidenzia o identifica duplicati | Elimina righe vuote | Combina colonne o celle senza perdere dati | Arrotonda
Super RICERCA.VERT: Ricerca con criteri multipli    Ricerca 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 a selezione multipla….
Gestione colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia lo stato di 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 & Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email da elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
I15 migliori kit di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule utili (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci immagine dal percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti per unire & dividere (Unione avanzata righe, Dividi celle, ...) | ...e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre!

Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. 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 su Office, rendendo il tuo lavoro molto più semplice

  • Abilita la modifica a schede e la lettura 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 ti fa risparmiare centinaia di clic ogni giorno!