È possibile formattare in modo condizionale una cella se la cella contiene una formula (per avvisare me e altri utenti durante l'aggiornamento della cella)?
È possibile formattare in modo condizionale una cella se la cella contiene una formula (per avvisare me e altri utenti durante l'aggiornamento della cella)?
Risposte:
È possibile utilizzare la formattazione condizionale per fare ciò utilizzando XLM e Range Names
Ho un articolo più lungo sull'utilizzo di XLM con nomi di intervallo e formattazione condizionale per formattare automaticamente i fogli di calcolo in base al contenuto della cella
xlm
senza alcun avviso macro, MSFT ha cambiato l'approccio di sicurezza.
Basandomi sulla risposta di Brettdj, perché ho trovato l'articolo collegato abbastanza difficile da seguire:
=ISFORMULA(INDIRECT("rc",FALSE))
$1:$1048576
come intervallo a cui applicare. Altrimenti, puoi inserire qualsiasi intervallo.La formula INDIRECT("rc",FALSE)
restituisce il riferimento della cella corrente. Se mai lo uso in un foglio, creo un Nome definito chiamato qualcosa del genere ThisCell
e lo uso nella formula, nel caso in cui dovessi tornare anni dopo e pensare "che diavolo è questo?".
INDIRECT("rc",FALSE)
, usa il riferimento relativo con la cella in alto a sinistra nell'intervallo "Applica a" nella formattazione condizionale. Ad esempio, se l'intervallo "Si applica a" è =$A$3:$F$300
, quindi utilizzare =ISFORMULA(A3)
. Questo perché la formattazione condizionale supporta riferimenti relativi, vedi questo
Puoi provare questi:
Creare una funzione personalizzata con il seguente codice:
Function IsFormula(ByVal Ref As Range) As Variant
If Ref.Cells.Count > 1 Then
IsFormula = CVErr(xlErrNA)
Else
IsFormula = Ref.HasFormula
End If
End Function
Esempio:
Per verificare se alcune celle nella colonna A hanno delle formule:
=IsFormula(A1)
C'è un modo molto semplice per farlo, testato in Excel 2016.
Metti in evidenza la tua gamma a cui desideri applicare, diciamo da A3:W20
. Vai alla formattazione condizionale e seleziona NEW RULE | USE A FORMULA TO DETERMINE WHICH CELLS TO FORMAT
.
Inserisci =isformula(A3)
e scegli il formato che desideri applicare.
A3
è ovviamente un riferimento alla prima cella dell'intervallo, ma questa formattazione si applica a tutti. Il risultato è che all'interno del tuo intervallo, qualsiasi cella che è una formula è formattata in modo condizionale.
I siti di aiuto più recenti raccomandano una funzione definita dall'utente:
Function IsFormula(cell) as boolean
IsFormula = cell.HasFormula
End Function
Quindi utilizzare quella funzione come condizione
E infatti, Excel 2013 e versioni successive hanno IsFormula
una funzione standard.
Puoi anche utilizzare la formattazione condizionale:
=HasNoFormula
Testato utilizzando Excel 2010.