Modificare il font e la dimensione del carattere in modo condizionale

Roberta chiede se esista un modo per utilizzare le capacità di formattazione condizionale di Excel per modificare il carattere utilizzato in una cella o per modificare la dimensione del carattere in una cella. La risposta breve è no, non può essere fatto, almeno non con la formattazione condizionale (i controlli che consentono di specificare il nome e la dimensione del carattere sono disattivati ​​nella finestra di dialogo di formattazione utilizzata con la formattazione condizionale).

È tuttavia possibile utilizzare una macro per esaminare il contenuto della cella e apportare modifiche all’aspetto di una cella. Si consideri la seguente macro che esamina tutte le celle selezionate al momento dell’esecuzione. Se una delle celle ha una lunghezza superiore a due caratteri o un valore superiore a 10, il carattere della cella viene modificato.

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)

Per utilizzare la macro, seleziona le celle che desideri modificare e quindi esegui la macro. Se desideri che la formattazione cambi in modo più automatico, puoi fare in modo che la macro controlli se sia stata apportata una modifica all’interno di un determinato intervallo di celle:

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 macro, quando viene aggiunta all’oggetto foglio di lavoro, verrà eseguita ogni volta che il foglio di lavoro viene ricalcolato. Essa verifica il range A1:A10, applicando gli stessi test della macro precedente. Il risultato è che la formattazione delle celle viene controllata e modificata continuamente. Per fare in modo che la macro controlli un intervallo diverso, basta modificare gli indirizzi assegnati alla variabile rng vicino all’inizio della macro.

Uno svantaggio di questa macro è che può diventare lenta se deve lavorare su un intervallo molto ampio. Andrà molto rapidamente se stai controllando A1:A10 (dieci celle), ma potrebbe andare molto più lentamente se controlli continuamente B2:N465 (oltre 6.000 celle). In tal caso, potresti voler progettare la macro in modo che venga eseguita ogni volta che il foglio di lavoro viene modificato, ma agisca solo se la modifica è stata eseguita su una cella nell’intervallo di destinazione. Anche la versione seguente va aggiunta all’oggetto foglio di lavoro:

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 macro utilizza la funzione Union per verificare se le celle modificate (passate al gestore eventi nella variabile Target) hanno una sovrapposizione con l’intervallo che si desidera controllare. In tal caso, il controllo viene eseguito sulle celle nell’intervallo Target.

Una cosa da tenere a mente con le macro che influiscono sulla formattazione è che se hai una formattazione condizionale applicata a una cella che viene controllata anche da una macro, la formattazione nella formattazione condizionale ha la precedenza sulla formattazione nella macro. Se la tua macro sta cambiando il font e la dimensione del carattere, questo non è un grosso problema perché la formattazione condizionale non influirà su questi attributi. Tuttavia, se modifichi la macro per modificare anche un attributo di formato diverso, ad esempio il colore della cella, e tale attributo viene modificato anche dal formato condizionale, non sembrerà che la macro abbia fatto nulla perché Excel utilizza la formattazione condizionale con preferenza a ciò che fa la macro.

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

Ti è stato utile?