Modificare dinamicamente il colore della scheda del foglio di lavoro

Andrea sa come cambiare manualmente il colore delle schede del foglio di lavoro. Tuttavia, vorrebbe un modo per cambiare il colore della scheda in base a un valore in una cella del foglio di lavoro.

Per fare ciò, dovrai utilizzare una macro. La chiave è cambiare la proprietà Color dell’oggetto Tab, in questo modo:

ActiveSheet.Tab.Color = vbRed

 

La logica che usi per arrivare a fare una tale assegnazione di colore dipende da cosa vuoi fare e quando vuoi farlo. Supponendo che tu voglia cambiare il colore della scheda in base a ciò che è nella cella A1, puoi usare una macro come la seguente:

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.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

 

È necessario aggiungere la macro al codice per il foglio di lavoro di cui si desidera modificare la scheda (fai clic con il pulsante destro del mouse sulla scheda del foglio e scegli Visualizza codice dal menu contestuale. Incolla il codice in quella finestra del codice). La macro cattura tutto ciò che è nella cella A1 e quindi utilizza una struttura Select case per cambiare il colore della scheda. La logica cambia il colore se A1 contiene da 0 a 7. Se c’è qualcos’altro (o niente), la proprietà ColorIndex viene utilizzata per riportare il colore della scheda al valore predefinito.

La macro potrebbe essere modificata in modo che ciò che verifica sia una stringa di testo (come “Nero”, “Rosso”, ecc.) o qualche parola chiave (come “Basso” o “Alto”). Puoi anche utilizzare diverse designazioni di colore con la proprietà Color, come la funzione RGB:

.Color = RGB(255, 0, 0)

 

Sebbene la macro presentata in questo suggerimento funzioni, essa viene attivata ogni modifica venga apportata in qualsiasi punto del foglio e la macro imposta ripetutamente il colore della scheda sebbene la cella A1 non venga cambiata. Una perdita di tempo!!!

La seguente macro cambia il colore della scheda solo se cambia il valore nella cella A1, il che è ovviamente più efficiente:

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.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

 

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

Ti è stato utile?