Ho visto molti utenti fare domande cercando di cambiare i colori delle celle utilizzando le funzioni definite dall'utente. Ho sempre avuto l'impressione che non fosse possibile farlo. La mia comprensione era che una funzione definita dall'utente non può cambiare nessuna proprietà di una cella tranne il valore della cella che contiene la formula. I sottotitoli sono ciò che cambia le cellule stesse.Funzione definita dall'utente per cambiare il colore di una cella
Tuttavia, quando si gioca con del codice per testarlo, ho scoperto che non è sempre il caso.
Utilizzando il codice semplice:
Function ColorCell(rng As Range)
If rng.Value = 1 Then
ColorCell = False
Else
ColorCell = True
rng.Interior.ColorIndex = 3
End If
End Function
Se entro la funzione in una cella, ho raggiungere i risultati previsti, non le cellule cambiano i colori. Tuttavia, se si utilizza il pulsante Formule> Inserisci funzione e si passa alla formula per inserirla in questo modo, lo fa il colore alle celle di destinazione.
Com'è possibile, e perché la funzione si è comportata diversamente quando è stata immessa in modi diversi?
EDIT: questa è stata testata utilizzando Excel 2007
Non conosco la risposta a questo, ma si noti che se si modificano i valori della cella, non sarà cambiare la colorazione anche nel caso in basso. Quindi se cambi cella A11 a 1 la cella rimane rossa. – OpiesDad
Corretto, non c'è alcun aggiornamento della funzione stessa. Tranne se si torna indietro e riutilizzare "Inserisci funzione", * * aggiorna il valore/colore. – TMH8885
'Ho scoperto che non è sempre il caso. Vero :) Hai visto [This] (http://stackoverflow.com/questions/23433096/using-a-udf-in-excel-to-update-the- foglio di lavoro) –