Per rendere più chiara una tabella numerica si desidera modificare il colore dello sfondo di determinate celle in funzione del numero contenuto. Se si ricorre alla formattazione condizionata di Excel si possono ottenere però al massimo quattro colori per lo sfondo. Si vorrebbe invece utilizzare una gamma completa formata da diverse tonalità di colori.
Se si vogliono utilizzare più condizioni per la formattazione, la formattazione condizionata non è sufficiente allo scopo. A questo si aggiunga che essa è limitata a tre condizioni (criteri). La soluzione sta nella creazione di un’apposita macro. Per evidenziare i dati con diversi colori di sfondo bisogna prima creare una scala di colori. Secondo le indicazioni del tips precedente, si modificherà quindi la gamma dei colori disponibili per ottenere da 8 a 16 toni diversi ritenuti adatti allo scopo. Poi tramite Strumenti/Macro/Macro si avvia la creazione di una nuova macro, per la quale si fornirà un nome adatto (per esempio Scalacolori) e si farà clic su Crea. Il listato macro fornito qui di seguito aggiunge uno sfondo alle celle della seconda colonna del foglio, il cui colore dipende dal valore del contenuto (in questo esempio si tratta di temperature). Si immetterà quindi nell’Editor di Visual Basic il seguente listato
Sub Scalacolori()
Dim i, k As Variant
Dim CI As Variant
CI = Array(1, 53, 52, 51, 49, 11, 55, 56, 9, 46, 12, 10, 14, 5, 47, 16, 3, 45, 43, 50)
For i = 2 To 19
k = Cells(i, 2)
If k < -20 Then k = -20 If k > 35 Then k = 35
With Cells(i, 2).Interior
.ColorIndex = CI(Int(k / 4) + 6)
.Pattern = xlSolid
End With
Next i
End Sub
La macro per prima cosa definisce le variabili necessarie. Poi bisogna individuare la corretta attribuzione dei colori della scala ai numeri interni dell’indice colori. Allo scopo si usa il campo dati CI, che contiene sempre l’indice colore (ColorIndex) che Excel utilizza per i colori standard modificati. Poi vengono attivati uno o più cicli per scorrere lungo l’intervallo dei dati. Per ogni campo dati viene prima letto il valore contenuto, assegnato alla variabile k.
Le due righe successive limitano i valori ammessi agli estremi della scala colori fissata. Infine viene modificato il colore di sfondo della cella, con l’uso di una formula che converte i dati nei numeri della scala. Naturalmente per l’uso pratico di questa macro i valori nei cicli devono essere adattati all’intervallo dei dati presenti nella tabella, dopo avere però creato una scala di colori adatta e avere fissato i limiti dei dati, effettuando poi la giusta conversione secondo la gamma dei colori scelta.