Visualizzazione dei colori RGB in una cella (Microsoft Excel)
Dennis vuole riempire tre celle (A1: A3) con valori RGB e fare in modo che un’altra cella (C1) mostri il colore in base a quei valori. Si chiede se ci sia un modo semplice per farlo.
Il modo più semplice per farlo è utilizzare una macro che acquisisce i valori in A1: A3 e quindi modifica il colore della cella C1 in base a tali valori.
Idealmente, la macro dovrebbe verificare che i valori nelle celle di origine siano compresi tra 0 e 255. La seguente macro funziona alla grande per questo scopo:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1:A3")) Is Nothing Then lRed = Abs(Range("A1").Value) Mod 256 lGreen = Abs(Range("A2").Value) Mod 256 lBlue = Abs(Range("A3").Value) Mod 256 Range("C1").Interior.Color = RGB(lRed, lGreen, lBlue) End If End Sub
Notare che questa macro dovrebbe essere aggiunta al codice per il foglio di lavoro in cui esistono le celle. (Fare clic con il pulsante destro del mouse sulla scheda del foglio e scegliere Visualizza codice, quindi aggiungere la macro lì.) È un gestore di eventi che viene eseguito automaticamente ogni volta che si verifica una modifica nella cella A1, A2 o A3.
Si garantisce che i valori in quelle celle siano compresi tra 0 e 255 prendendo il valore assoluto del contenuto della cella e utilizzando il resto (modulo)
di dividerlo per 256.
La macro funziona solo quando si modifica manualmente un valore nell’intervallo A1: A3 (i valori RGB). Se i valori in quell’intervallo sono il risultato di formule, non funzionerà correttamente perché non stai modificando manualmente le celle. In tal caso, dovresti usare questa modifica più semplice della macro:
Private Sub Worksheet_Change(ByVal Target As Range) lRed = Abs(Range("A1").Value) Mod 256 lGreen = Abs(Range("A2").Value) Mod 256 lBlue = Abs(Range("A3").Value) Mod 256 Range("C1").Interior.Color = RGB(lRed, lGreen, lBlue) End Sub
Questa versione aggiorna il colore ogni volta che qualcosa viene modificato nel foglio di lavoro, indipendentemente da dove si verifica la modifica.
_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 (9092) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: