Vba: come utilizzare il filtro automatico con più criteri


È possibile utilizzare i seguenti metodi per utilizzare il filtro automatico in VBA con più criteri:

Metodo 1: utilizzare il filtro automatico con più criteri in una singola colonna

 Sub FilterMultipleCriteria()

With Range(" A1:C11 ")
    .AutoFilter Field:=1, Criteria1:=Array(" A ", " C "), Operator:=xlFilterValues
End With

End Sub

Questa particolare macro filtrerà tutte le righe nell’intervallo A1:C11 in cui il valore della prima colonna è uguale a “A” o “C”.

Metodo 2: utilizzare il filtro automatico con più criteri in più colonne

 Sub FilterMultipleCriteria()

With Range(" A1:C11 ")
    .AutoFilter Field:=1, Criteria1:=" A "
    .AutoFilter Field:=2, Criteria1:=" Guard "
End With

End Sub

Questa particolare macro filtrerà l’intervallo A1:C11 per mostrare solo le righe in cui la prima colonna è uguale a “A” e la seconda colonna è uguale a “Guard”.

Gli esempi seguenti mostrano come utilizzare nella pratica ciascuno di questi metodi con il seguente set di dati in Excel:

Esempio 1: utilizzare il filtro automatico con più criteri in una colonna

Supponiamo di voler filtrare il set di dati per mostrare solo le righe la cui prima colonna è uguale a “A” o “C”.

Per fare ciò possiamo creare la seguente macro:

 Sub FilterMultipleCriteria()

With Range(" A1:C11 ")
    .AutoFilter Field:=1, Criteria1:=Array(" A ", " C "), Operator:=xlFilterValues
End With

End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

Tieni presente che il set di dati è stato filtrato per mostrare solo le righe con la prima colonna uguale ad “A” o “C”.

Nota : abbiamo incluso solo due possibili valori nella funzione Array() , ma sentiti libero di includerne quanti desideri.

Esempio 2: utilizzare il filtro automatico con più criteri in più colonne

Supponiamo di voler filtrare il set di dati per mostrare solo le righe in cui il valore della colonna Team è uguale ad A e il valore della colonna Posizione è uguale a Guard.

Per fare ciò possiamo creare la seguente macro:

 Sub FilterMultipleCriteria()

With Range(" A1:C11 ")
    .AutoFilter Field:=1, Criteria1:=" A "
    .AutoFilter Field:=2, Criteria1:=" Guard "
End With

End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

Ho notato che il set di dati è stato filtrato per mostrare solo le righe in cui il valore nella colonna Team è uguale ad A e il valore nella colonna Position è uguale a Guard.

Nota : qui è possibile trovare la documentazione completa per il metodo VBA AutoFilter .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:

VBA: come filtrare le tabelle pivot
VBA: come cancellare i filtri
VBA: come rimuovere valori duplicati

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *