KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come nascondere colonne in tempo reale in base all’input dell’utente in Excel?

AutoreXiaoyang Data di modifica

Nascondere colonne in Excel è un’operazione comune, ma hai mai provato a nasconderle automaticamente in base a valori di input specifici? Per esempio, inserendo «AA» in una cella, la colonna A viene nascosta; digitando «BB», si nascondono le colonne B e C; con «CC», vengono nascoste le colonne D ed E; e con «DD», si nasconde la colonna F, come illustrato nella demo seguente. Questo articolo ti fornirà un codice VBA per soddisfare questa esigenza in Excel.

Utilizza il codice VBA per nascondere o mostrare colonne in tempo reale in base all’input dell’utente

Utilizza il codice VBA per nascondere o mostrare determinate colonne in base all’input dell’utente


Utilizza il codice VBA per nascondere o mostrare colonne in tempo reale in base all’input dell’utente

Per nascondere Specifica colonna in tempo reale in base ai valori inseriti, applica il seguente codice VBA:

1. Nel foglio di lavoro in cui desideri nascondere colonne, fai clic con il tasto destro sulla scheda del foglio e seleziona «Visualizza codice» dal menu contestuale (vedi screenshot).

Uno screenshot che mostra come aprire la finestra di Visual Basic for Applications in Excel facendo clic con il pulsante destro del mouse sulla scheda del foglio

2. Nella finestra «Microsoft Visual Basic for Applications» aperta, copia e incolla il codice VBA seguente nella finestra «Foglio (Codice)».

Codice VBA: nascondi colonne in tempo reale in base all’input dell’utente

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby ExtendOffice
xcell = Range("K1").Value
Select Case xcell
Case "AA": Columns("A").EntireColumn.Hidden = False
Columns("A").EntireColumn.Hidden = True
Case "BB": Columns("B:C").EntireColumn.Hidden = False
Columns("B:C").EntireColumn.Hidden = True
Case "CC": Columns("D:E").EntireColumn.Hidden = False
Columns("D:E").EntireColumn.Hidden = True
Case "DD": Columns("F").EntireColumn.Hidden = False
Columns("F").EntireColumn.Hidden = True
Case Else
Columns("A:G").EntireColumn.Hidden = False
End Select
End Sub
Nota: nel codice sopra riportato, «K1» è la cella in cui inserisci il testo specifico. È necessario adattare il testo e i nomi delle colonne alle proprie esigenze. Inoltre, puoi aggiungere altri criteri semplicemente includendo gli script seguenti:
  • Caso «AA»: Columns(«A»).EntireColumn.Hidden = False
  • Columns(«A»).EntireColumn.Hidden = True

Uno screenshot della finestra del codice VBA in Excel con il codice incollato per nascondere colonne in base all'input dell'utente

3. Chiudi quindi la finestra del codice. Ora, inserendo «AA» nella cella K1 e premendo Invio, la colonna A verrà nascosta; digitando «BB» e premendo Invio, saranno nascoste le colonne B e C, e così via. Inserendo qualsiasi altro valore o cancellando il contenuto, le colonne precedentemente nascoste torneranno immediatamente visibili, come mostrato nella demo seguente:


Utilizza il codice VBA per nascondere o mostrare determinate colonne in base all’input dell’utente

In questo esempio, filtrerò un intervallo dati in base al nome di un prodotto inserito: digitando «Hoodie», verranno mostrate esclusivamente le informazioni relative a Hoodie, mentre le altre righe saranno nascoste all’istante; digitando invece «All», tutte le righe torneranno visibili, come illustrato nella demo seguente:

1. Nel foglio di lavoro in cui desideri nascondere le colonne, fai clic con il tasto destro sulla scheda del foglio e seleziona «Visualizza codice» dal menu contestuale (vedi screenshot):

Uno screenshot che mostra come aprire la finestra di Visual Basic for Applications in Excel facendo clic con il pulsante destro del mouse sulla scheda del foglio

2. Nella finestra «Microsoft Visual Basic for Applications» aperta, copia e incolla il codice VBA seguente nella finestra «Foglio (Codice)».

Codice VBA: nascondi o mostra colonne per filtrare i dati in base all’input dell’utente

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby ExtendOffice
    Dim x As Variant, y As String
     If Target.Address = "$K$1" Then
        y = Target.Value
        With Range("B1:H1")
            Application.ScreenUpdating = False
            .EntireColumn.Hidden = (y <> "All")
            If y <> "All" Then
                For Each x In .Cells
                    If x = y Then x.EntireColumn.Hidden = False
                Next
            End If
            Application.ScreenUpdating = True
        End With
    End If
End Sub
Nota: nel codice sopra riportato, «K1» è la cella in cui inserisci il testo specifico, mentre «B1:H1» sono le intestazioni di riga contenenti i nomi dei prodotti da filtrare.

3. Chiudi quindi la finestra del codice. Ora, inserendo il nome di un prodotto nella cella K1, verranno visualizzate solo le colonne corrispondenti, mentre le altre saranno nascoste; digitando invece «All», tutte le colonne appariranno, come mostrato nella demo seguente:

Migliori Strumenti per la Produttività in Office

🤖KUTOOLS AI Assistente: Rivoluziona Analisi dei dati in base a:Esecuzione Intelligente   |  Genera Codice|  Crea formule personalizzate  |  Analizza Dati e Genera Grafici|  Richiama Funzioni avanzate
Funzionalità Popolari:Trova, Evidenzia o Contrassegna Duplicati   |  Elimina righe vuote   |  Combinare Colonne o Celle senza Perdere Dati   |   Arrotondamento senza usare la formula...
Super RICERCA.VERT:VLookup con Criteri Multipli  |  VLookup con Valori Multipli  |   VLookup tra Fogli Multipli   |   Corrispondenza approssimativa....
Elenco a discesa avanzato:Crea Rapidamente un Elenco a Discesa   |  Elenco a Discesa Dipendente   |  Elenco a Discesa con Selezione Multipla....
Gestione Colonne:Aggiungi un Numero Specifico di Colonne|Sposta Colonne|Attiva/Disattiva lo Stato di Visibilità delle Colonne Nascoste|Confronta Intervalli e Colonne...
Funzionalità in Evidenza:Attenzione della griglia   |  Visualizzazione Design   |Barra delle formule avanzata   | Gestione Cartelle di Lavoro e Fogli   |  Biblioteca di risorse(Testo Automatico)|  Selettore di Date   |  Unisci fogli di lavoro  |  Crittografa/Decrittografa celle   | Invia Email da Lista   |  Super Filtri   |   Filtro speciale(Filtra celle con testo in grassetto/corsivo/barrato...) ...
Principali Set di Strumenti 15:12 Strumentiper il Testo(Aggiungi testo,Elimina Caratteri Specifici, ...)|   50+Tipidi Grafico(Diagramma di Gantt, ...)|   40+ Formule Pratiche(Calcola l'età in base alla data di nascita, ...)|   19 Strumentidi Inserimento(Inserisci Codice QR,Inserisci Immagine dal Percorso, ...)|   12 Strumentidi Conversione(Converti in parole,Conversione del tasso di cambio, ...)|   7 StrumentiUnisci e Dividi(Unione avanzata righe,Dividi celle, ...)|... e molto altro
Usa Kutools nella tua lingua preferita – supporta inglese, spagnolo, tedesco, francese, cinese e 40+ altre!

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità 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 all’interno della stessa finestra, invece che in finestre separate.
  • Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!

Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.

Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.

ExcelWordOutlookTabsPowerPoint
  • Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
  • Funziona meglio insieme— produttività ottimizzata tra le app di Office
  • Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
  • Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi