Filtro automatico VBA

In VBA, puoi creare Filtro automatico per filtrare un intervallo di celle o una tabella Excel. In questo tutorial imparerai come creare Filtro automatico per una o più colonne e per più condizioni.

Se vuoi imparare come utilizzare un filtro avanzato in VBA, fai clic qui: Filtro avanzato VBA

Creazione di filtri automatici in VBA

Per prima cosa, vedrai come creare semplicemente Filtro automatico in un intervallo, in modo che un utente possa filtrare i dati. I dati che useremo negli esempi sono nell'immagine 1:

Immagine 1. Dati per esempi di filtro automatico

Ecco il codice per la creazione Filtro automatico:

1 Foglio1.Intervallo("A1:E1").Filtro automatico

Per abilitare Filtro automatico, dobbiamo specificare l'intestazione dell'intervallo, nel nostro caso A1: E1, e usare il Filtro automatico metodo dell'oggetto Gamma. Di conseguenza, la nostra gamma di dati ha filtri attivati:

Immagine 2. Filtro automatico abilitato per i dati

Filtro automatico con parametri di campo e criteri

VBA consente inoltre di filtrare automaticamente un determinato campo con determinati valori.

Per fare questo, devi usare i parametri Campo e Criteri1 del metodo Filtro automatico. In questo esempio, vogliamo filtrare la terza colonna (Prodotto) per Prodotto A soltanto. Ecco il codice:

12 Foglio1.Intervallo("A1:E1").Campo filtro automatico:=3, _Criteri 1: = "Prodotto A"

Nel Campo parametro, è possibile impostare il numero della colonna nell'intervallo (non in Excel), mentre in Criteri1 puoi inserire il valore che vuoi filtrare. Dopo aver eseguito il codice, la nostra tabella si presenta così:

Immagine 3. Filtro automatico con campo e criteri

Come puoi vedere, solo le righe con Prodotto A nella terza colonna sono visualizzati nell'intervallo di dati.

Filtro automatico con valori di campo e criteri multipli

Se vuoi filtrare un campo con più valori, devi usare il parametro Operatore del Filtro automatico metodo. Per filtrare più valori, è necessario impostare Operatore a xlFilterValues e anche per mettere tutti i valori di Criteri in un array. In questo esempio, filtriamo il Prodotto colonna per Prodotto A e Prodotto B. Ecco l'esempio di codice:

123 Foglio1.Intervallo("A1:E1").Campo filtro automatico:=3, _Criteri1:=Array("Prodotto A", "Prodotto B"), _Operatore:=xlFilterValues

Quando eseguiamo il codice, otteniamo solo righe con Prodotto A e Prodotto B, come puoi vedere nell'immagine 4:

Immagine 4. Filtro automatico con più valori di criteri

Intervallo di dati del filtro automatico con criteri multipli

Se vuoi filtrare un campo con più criteri, devi usare Criteri1 e Criteri2 parametri, ma anche il Operatore xlAnd.

Nel prossimo esempio, filtreremo la prima colonna (Data) per le date di dicembre 2022. Pertanto, abbiamo due criteri: una data maggiore del 01/12/18 e una data inferiore al 31/12/18. Questo è il codice:

1234 Foglio1.Intervallo("A1:E1").Campo filtro automatico:=1, _Criteri1:=">=12/01/2018", _Operatore:=xlAnd, _Criteri 2:="<=131/1/2018"

Quando eseguiamo il codice, puoi vedere che solo le date di dicembre vengono visualizzate nell'intervallo di dati:

Immagine 5. Filtro automatico con più criteri per il campo

I valori dei parametri dell'operatore del metodo AutoFilter

Nella tabella successiva. puoi vedere tutti i possibili valori di Operatore parametro del metodo AutoFilter e le loro descrizioni:

Operatore Descrizione
xlAnd Include più criteri: Criteri 1 e Criteri 2
xlOr Include uno dei criteri multipli - Criterio1 o Criterio 2
xlTop10Items Filtra un certo numero di valori classificati più alti (numero specificato in Criteri1)
xlBottom10Articoli Filtra un certo numero di valori classificati più bassi (numero specificato in Criteri1)
xlTop10Percent Filtra una certa percentuale dei valori classificati più alti (% specificata in Criteri1)
xlBottom10Percent Filtra una certa percentuale di valori classificati più bassi (% specificata in Criteri1)
xlFilterValues Include più valori di criteri con Array
xlFilterCellColor Filtra le celle per i colori
xlFilterFontColor Filtra le celle per i colori dei caratteri
xlFilterIcon Icone filtri
xlFilterDynamic Filtra i valori dinamici

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave