Filtro automatico VBA - Come utilizzare i criteri di filtro automatico VBA per filtrare i dati?

Filtro automatico VBA di Excel

Il filtro automatico in VBA viene utilizzato come espressione e la sua sintassi è la seguente Espressione. Filtro automatico (Campo, Criteri 1, Operatore, Criteri 2, Elenco a discesa) tutti gli argomenti sono facoltativi. Il filtro è utile per filtrare i dati particolari dai dati enormi.

Supponiamo che tu sia un utente normale, quindi i filtri Excel non sono una cosa strana per te. Alcuni degli strumenti che utilizziamo nel foglio di lavoro sono anche integrati in VBA e l'opzione di filtro automatico è uno degli strumenti importanti disponibili in VBA. Come tutti sappiamo, il filtro Excel è disponibile nella scheda dati.

Usando questa opzione di filtro, possiamo giocare con i dati. Se hai a che fare con una quantità minima di dati e se ritieni che l'opzione del filtro automatico VBA non sia realmente richiesta, puoi continuare a utilizzare l'opzione del filtro del foglio di lavoro.

Se hai a che fare con una quantità enorme di dati, puoi utilizzare un'opzione Filtro automatico per semplificare il flusso del processo.

Sintassi della funzione Filtro automatico

Filtro automatico in Excel VBA può essere utilizzato con un oggetto intervallo. Come le altre nostre funzioni, anche questa ha la sua sintassi.

  • Intervallo: l' intervallo è semplicemente l'intervallo in cui desideri applicare il filtro.
  • Campo: Campo indica da quale colonna dell'intervallo che hai selezionato vuoi filtrare i dati. Verrà contata una colonna da sinistra a destra.

Ad esempio, se il tuo intervallo va da A1 a D100 e desideri applicare un filtro per la colonna D, il numero del tuo campo è 4 perché, nell'intervallo selezionato, D è la quarta colonna.

Criteri 1: nel campo hai selezionato ciò che desideri filtrare.

  • Operatore: se si desidera applicare più di un criterio per filtrare i dati, è necessario utilizzare i simboli degli operatori. Alcuni dei codici operatore sono i seguenti.

xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues.

Criteri 2: qual è la seconda cosa che vuoi filtrare insieme ai criteri 1?

  • Menu a discesa visibile: si desidera visualizzare l'icona del filtro in basso nella colonna filtrata. Se si desidera visualizzare VERO è l'argomento, se non FALSO, è l'argomento.

Come applicare il filtro utilizzando il filtro automatico VBA? (con esempio)

Assumi di seguito i dati su cui stai lavorando.

Ora utilizzando il codice VBA, applicheremo il filtro. Segui i passaggi seguenti per applicare il filtro.

Passaggio 1: avviare la sottoprocedura assegnando un nome alla macro.

Codice:

Sub AutoFilter_Example1 () End Sub

Passaggio 2: la prima cosa è in quale intervallo dobbiamo applicare il filtro. In questo caso, dobbiamo applicare l'intervallo compreso tra A1 e E25.

Codice:

Sub AutoFilter_Example1 () Range ("A1: E25") End Sub

Passaggio 3: una volta selezionato l'intervallo, ora applica l'opzione di filtro automatico.

Codice:

Sub AutoFilter_Example1 () Intervallo ("A1: E25"). AutoFilter End Sub

Non stiamo selezionando alcun valore utilizzando un filtro automatico. Piuttosto, stiamo solo applicando il filtro in questo momento.

Esegui il codice utilizzando il tasto F5 o manualmente, inserirà il filtro per l'intervallo selezionato.

Quindi ha applicato un filtro ai dati. Adesso vedremo come filtrare i dati.

Esempio n. 1: filtrare i dati utilizzando il filtro automatico

Considera gli stessi dati dell'esempio precedente. Ora dobbiamo filtrare il dipartimento "Finanza" dalla colonna del dipartimento.

Passaggio 1: dopo aver applicato il filtro, il primo argomento è menzionare da quale colonna stiamo filtrando i dati. In questo caso, dobbiamo filtrare i dati dalla colonna Reparto, quindi il numero di colonna se 5.

Codice:

Sub AutoFilter_Example1 () Intervallo ("A1: E25"). Campo filtro automatico: = 5, End Sub

Passaggio 2: i criteri 1 non sono altro che ciò che vogliamo filtrare dalla quinta colonna. Quindi dobbiamo filtrare "Finanza".

Codice:

Sub AutoFilter_Example1 () Range ("A1: E25"). AutoFilter Field: = 5, Criteria1: = "Finance" End Sub

Quindi è tutto, esegui questo codice manualmente o tramite il tasto F5, filtrerà solo "Finanza" dall'elenco.

Esempio # 2 - Operatore in AutoFilter

Abbiamo visto come filtrare il singolo valore. Ora vedremo come filtrare più elementi. Assumi insieme a "Finanza" di voler filtrare anche il reparto "Vendite", quindi possiamo farlo utilizzando gli operatori.

Passaggio 1: dopo aver applicato i primi criteri nell'argomento successivo, selezionare l'operatore come "xlOr".

Codice:

Sub AutoFilter_Example2 () Intervallo ("A1: E25"). Campo filtro automatico: = 5, Criteria1: = "Finance", Operatore: = xlOr End Sub

Passaggio 2: ora, nei criteri 2, menziona il valore come "Vendite".

Codice:

Sub AutoFilter_Example2 () Intervallo ("A1: E25"). Campo filtro automatico: = 5, Criteria1: = "Finance", Operatore: = xlOr, Criteria2: = "Sales" End Sub

Passaggio 3: OK, esegui questo codice utilizzando il tasto F5 o manualmente, filtrerà sia "Finanza" che "Vendite".

Nell'argomento Operatore, ho usato "xlOr" questo selezionerà sia "Finanza" che "Vendite" sotto il filtro.

Esempio n. 3: filtrare i numeri utilizzando il filtro automatico

Using the Operator symbol “XlAnd,” we can filter out numbers as well. Assume from the Overtime column you want to filter out all the values which are>1000 but <3000.

Step 1: The first thing is changing the Field from 5 to 4.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4 End Sub

Step 2: Criteria 1 is>1000.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4,Criteria1:=">1000", End Sub

Step 3: Here, we need to match both the criteria, so use “xlAnd” as the operator.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4, Criteria1:=">1000", Operator:=xlAnd, End Sub

Step 4: Criteria 2 will <3000.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4, Criteria1:=">1000", Operator:=xlAnd, Criteria2:="<3000" End Sub

Now, if you run this code manually or through the F5 key, it will filter out all the values from the Overtime column, which are>1000 but <3000.

Example #4 - Filter from Different Columns using AutoFilter

In order to filter out data from different columns, we need to use a different process. Assume you want to filter out the “Finance” department and also you want to filter out Salary numbers, which are>25000 but <40000.

You can use the below code does that.

Code:

Sub AutoFilter_Example4 () With Range ("A1: E25") .AutoFilter Field: = 5, Criteria1: = "Finance" .AutoFilter Field: = 2, Criteria1: = "> 25000", Operator: = xlAnd, Criteria2: = " <40000 "End With End Sub

Questo filtrerà due colonne.

Esegui questo codice utilizzando il tasto F5 oppure puoi eseguirlo manualmente.

Cose da ricordare

  • Prova diverse combinazioni in Operatore per ottenere la conoscenza di VBA AutoFilter.
  • Se non sei sicuro di cosa inserire, prova a utilizzare il registratore di macro.
  • Se desideri filtrare i valori di testo, devi fornirli tra virgolette.
  • Utilizzare l'istruzione WITH per applicare più di un filtro di colonna.

Articoli interessanti...