Formattare automaticamente la colonna sulla quale è applicato un filtro

In una grande tabella di dati, Edoardo vorrebbe essere in grado di scansionare rapidamente e vedere se una particolare colonna viene filtrata attivamente. Si chiede se esista un modo per applicare la formattazione condizionale per modificare il colore di sfondo di una colonna quando è in gioco un filtro basato su quella colonna.

Ci sono alcuni modi in cui puoi affrontare questo compito. Tutti coinvolgono macro e lo scopo di ciascuna macro è determinare se un filtro è in gioco per una particolare colonna. Un’opzione è creare una funzione che esamini il foglio di lavoro alla ricerca di un filtro e, se ne trova uno, controllare ogni colonna nell’area filtrata per vedere se c’è un filtro in gioco in quella colonna. La seguente macro fa proprio questo.

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)

Se la macro individua un filtro attivo, evidenzia (in giallo) la prima cella nella tabella filtrata o l’intera colonna che contiene il filtro. La determinazione dell’evidenziazione di una cella o dell’intera colonna si basa sul valore True/False assegnato alla variabile bFullCol.

Se preferisci, puoi creare una funzione che restituisca VERO o FALSO a seconda che sia attivo o meno un filtro per una particolare colonna. Con tale funzione è possibile creare una regola di formattazione condizionale che formatta la colonna in base al valore restituito.

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)

Per utilizzare questa funzione, usa semplicemente una formula come la seguente nel tuo foglio di lavoro o nella regola di formattazione condizionale:

=bHasFilter(F23)

 

La funzione prima verifica se è attivo un filtro. In tal caso, calcola se la colonna della cella passata alla formula rientra nell’intervallo di colonne filtrate (la riga a cui fa riferimento la formula non ha molta importanza). In tal caso, controlla se il filtro è attivato per quella colonna.

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

Ti è stato utile?