Le straordinarie capacità di formattazione condizionale di Excel ti consentono di modificare la formattazione delle celle in base al contenuto di una cella. Sfortunatamente, non è possibile nascondere facilmente intere colonne di dati in base al valore di una determinata cella.

È tuttavia possibile ottenere l’effetto desiderato utilizzando una macro per analizzare la cella e regolare l’attributo Nascosto della riga che si desidera nascondere in modo condizionale. La seguente semplice macro, ad esempio, esamina il contenuto della cella B4 e, se la cella contiene 0, nasconde la colonna H. Se la cella B4 non contiene 0, viene visualizzata la colonna H.

Sub HideColumn1()

If Range("B4").Value = 0 Then         Columns("H").EntireColumn.Hidden = True     Else         Columns("H").EntireColumn.Hidden = False     End If End Sub

Se desideri nascondere e mostrare la colonna in tempo reale, puoi utilizzare la seguente versione della macro. Assicurati solo di inserire questa versione nella finestra del codice per il foglio di lavoro su cui vuoi che funzioni.

Private Sub Worksheet_Change(ByVal Target As Range)

If Range("B4").Value = 0 Then         Columns("H").EntireColumn.Hidden = True     Else         Columns("H").EntireColumn.Hidden = False     End If End Sub

Si noti che il coraggio delle due macro è lo stesso. L’unica differenza è che la seconda versione viene attivata da un evento all’interno di Excel, la modifica di quale cella è attualmente selezionata. Ciò significa che ogni volta che ti sposti da una cella all’altra, il valore in B4 viene verificato e la colonna H è nascosta o non nascosta.

Se è possibile che il contenuto della cella B4 possa essere vuoto, è possibile che Excel interpreti quel vuoto come un valore zero. In tal caso, puoi modificare leggermente la macro in modo che controlli una cella vuota.

Sub HideColumn2()

Dim rCell As Range     Set rCell = Range("B4")



Columns("H").EntireColumn.Hidden = False     If (Not IsEmpty(rCell)) _       And (IsNumeric(rCell)) _       And (rCell.Value = 0) Then         Columns("H").EntireColumn.Hidden = True     End If End Sub

Questa versione della macro controlla effettivamente tre condizioni: che B4 non sia vuoto, che contenga un valore numerico e che il valore sia 0. Se tutte e tre queste condizioni sono soddisfatte, la colonna H è nascosta.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (9730) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Excel qui: