Trev ha una tabella delle previsioni di vendita per prodotto che diversi utenti esaminano e aggiornano. Le previsioni sono inizialmente impostate con varie formule, ma agli utenti è consentito sovrascrivere le formule inserendo un valore in qualsiasi cella che contenga una delle formule. Se un utente lo fa, sarebbe utile per Trev che Excel in qualche modo evidenzi quella cella.

Ci sono un paio di approcci che puoi adottare. Innanzitutto, puoi utilizzare la formattazione condizionale per evidenziare. Imposta la formattazione condizionale su “Il valore della cella è” “Diverso da”, quindi inserisci la formula come confronto. Questo ti dirà quando il valore nella cella non è uguale a qualunque sia la formula, ma un potenziale “gottcha” è se la persona sovrascrive la formula con il risultato di quella formula. Ad esempio, se la formula avesse prodotto un risultato di “27” e l’utente digiti “27” nella cella.

Un’altra possibilità è definire una formula in una costante denominata e quindi utilizzare quella costante denominata in un formato condizionale. Segui questi passaggi:

  1. Scegli Nome dal menu Inserisci, quindi scegli Definisci. Excel visualizza la finestra di dialogo Definisci nome. (Vedi figura 1.)

  2. Nella casella Nomi nella cartella di lavoro immettere il nome che si desidera assegnare a questa formula. Per questo esempio, usa CellHasNoFormula.

  3. Seleziona tutto ciò che è nella casella Si riferisce a, nella parte inferiore della finestra di dialogo, e premi Canc. Questo elimina tutto ciò che Excel aveva lì prima.

  4. Immettere la seguente formula nella casella Si riferisce a:

  5. Fare clic su OK.

Ora puoi impostare alcuni formati condizionali e utilizzare questa formula denominata nel formato. Imposta semplicemente la condizione su “La formula è” e inserisci la seguente formula nella condizione:

=CellHasNoFormula

La formula restituisce True o False, a seconda che sia presente una formula nella cella o nor. Se non è presente alcuna formula, viene restituito True e qualsiasi formato specificato viene applicato alla cella.

Un altro approccio consiste nell’usare una funzione definita dall’utente per restituire True o False, quindi impostare il formato condizionale. Potresti usare una macro molto semplice, come la seguente:

Function IsFormula(Check_Cell As Range) As Boolean     Application.Volatile     IsFormula = Check_Cell.HasFormula End Function

Puoi quindi specificare “La formula è” nel formato condizionale e utilizzare la seguente formula se, ad esempio, stai formattando in modo condizionale la cella C1:

=NOT(IsFormula(C1))

La formula restituisce True se non è presente alcuna formula nella cella, quindi viene applicato il formato condizionale.

L’unico svantaggio dell’utilizzo di una qualsiasi di queste formule per determinare se una formula è nella cella è che non è possibile determinare se la formula nella cella è stata sostituita con una formula diversa. Questo vale sia per l’approccio macro sia per l’approccio con formula definita.

Un approccio completamente diverso consiste nel ripensare un po ‘il tuo foglio di lavoro. È possibile separare le celle per l’input dell’utente da quelle che utilizzano le formule. La formula potrebbe utilizzare una funzione SE per vedere se l’utente ha inserito qualcosa nella cella di input dell’utente. In caso contrario, la tua formula verrebbe utilizzata per determinare un valore; in tal caso, l’input dell’utente viene utilizzato di preferenza rispetto alla formula. Questo approccio ti consente di mantenere le formule di cui hai bisogno, senza che vengano sovrascritte dall’utente. Ciò si traduce in una grande integrità delle formule e dei risultati del foglio di lavoro.

_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 (3224) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: