I nomi colore ufficiali in VBA

Le versioni moderne di Excel utilizzano una tavolozza di colori composta da 144 colori. Puoi vedere questi colori se visualizzi la scheda Riempimento della finestra di dialogo Formato celle e cliccando sul pulsante Altri colori. Quando crei macro in VBA, potresti voler fare riferimento a questi colori, per nome, usando le costanti.

Sfortunatamente, il VBA di Excel non ha costanti definite per ciascuno dei 144 colori nella tavolozza. Gli unici colori definiti, in base al nome, sono membri della classe ColorConstants e ci sono otto membri della classe: vbBlack, vbWhite, vbRed, vbGreen, vbBlue, vbYellow, vbMagenta e vbCyan.

In VBA puoi utilizzare la proprietà ColorIndex per definire quale colore desideri utilizzare dalla tavolozza di Excel. Il problema è che ColorIndex non è un colore, ma un indice nella tavolozza. Pertanto, un ColorIndex di 1 è il primo colore nella tavolozza, 2 è il secondo e così via.

Se vuoi impostare il colore di una cella, dovresti in realtà usare la proprietà Color. Questa proprietà consente di utilizzare le otto costanti di colore VBA menzionate in precedenza. Accade solo che se usi queste proprietà Color per impostare il colore interno di una cella, scoprirai che gli otto colori denominati corrispondono ai valori ColorIndex da 1 a 8. La seguente macro lo illustra bene:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Questa corrispondenza per i primi otto valori tra Color e ColorIndex dovrebbe essere considerata solo come un artefatto della storia, risalente ai giorni in cui Excel consentiva di utilizzare solo otto colori, gli otto colori definiti con le costanti VBA. Se vuoi specificare un altro colore per una cella, dovresti usare la funzione RGB per specificare la proprietà Color, come mostrato qui:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

La funzione RGB consente di specificare i componenti rosso, verde e blu di qualsiasi colore. Ciascun componente può avere un valore compreso tra 0 e 255.

Tags: , , , , , , , , , , , , ,

Ti è stato utile?