Le celle in un foglio di lavoro possono contenere valori o possono contenere formule. Ad un certo punto, potresti voler evidenziare in qualche modo tutte le celle nel tuo foglio di lavoro che contengono formule colorando quelle celle. Esistono diversi modi per affrontare e risolvere questo problema. Se non hai bisogno di evidenziare così spesso, un approccio manuale potrebbe essere il migliore.

Segui questi passaggi:

  1. Premi F5 o Ctrl + G. Excel visualizza la finestra di dialogo Vai a.

  2. Fare clic su Speciale. Excel visualizza la finestra di dialogo Vai a speciale. (Vedi figura 1.)

  3. Seleziona il pulsante di opzione Formule.

  4. Fare clic su OK.

A questo punto, viene selezionata ogni cella del foglio di lavoro che contiene le formule ed è possibile aggiungere colore a quelle celle o formattarle come desiderato. Questo approccio può essere automatizzato, se lo si desidera, utilizzando una macro come la seguente:

Sub ColorFormulas()

ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, 23).Select     With Selection.Interior         .ColorIndex = 6         .Pattern = xlSolid     End With End Sub

È possibile eseguire questa macro tutte le volte che è necessario per evidenziare le varie celle che contengono le formule. L’unico problema è che se una formula viene eliminata da una cella precedentemente evidenziata, l’evidenziazione rimane; non viene rimosso automaticamente. In questo caso, è richiesto un approccio macro diverso. Questa macro agisce su un intervallo di celle selezionato prima di eseguire la macro.

Sub ColorFunction()

For Each cell In Selection         If cell.HasFormula Then             With cell.Interior                 .ColorIndex = 6                 .Pattern = xlSolid             End With         Else             cell.Interior.ColorIndex = xlNone         End If     Next cell End Sub

La macro controlla ogni cella nell’intervallo. Se la cella contiene una formula, viene evidenziata. Se la cella non contiene una formula, l’evidenziazione è disattivata.

Un’altra possibile soluzione è utilizzare una funzione definita dall’utente insieme alle funzionalità di formattazione condizionale di Excel. Crea la seguente funzione nell’editor VBA:

Function CellHasFormula(c As Range) As Boolean     CellHasFormula = c.HasFormula End Function

Con questa funzione in atto, è possibile utilizzare le funzionalità di formattazione condizionale di Excel (descritte in dettaglio altrove in ExcelTips) per verificare cosa restituisce la formula. In altre parole, dovresti impostare un formato condizionale che controlli il risultato di questa formula:

=CellHasFormula(A1)

Se il risultato è vero (la cella contiene una formula), viene applicato il formato condizionale.

È interessante notare che non è necessario creare una macro VBA per utilizzare il percorso di formattazione condizionale, se non lo si desidera. (Alcune persone hanno una naturale avversione all’uso delle macro.) Invece, puoi seguire questi passaggi:

  1. Premi Ctrl + F3. Excel visualizza la finestra di dialogo Definisci nome.

  2. Nel campo Nomi (nella parte superiore della finestra di dialogo), inserisci un nome come FormulaInCell.

  3. Nel campo Si riferisce a (nella parte inferiore della finestra di dialogo), immettere quanto segue:

  4. Fare clic su OK.

Ora puoi seguire le tecniche precedentemente descritte per impostare la formattazione condizionale. L’unica differenza è che il formato condizionale dovrebbe invece verificare la seguente formula:

=FormulaInCell

_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 (2766) si applica a Microsoft Excel 97, 2000, 2002 e 2003.