Come filtrare una colonna utilizzando vba (con esempi)
È possibile utilizzare i seguenti metodi per filtrare per colonna in Excel utilizzando VBA:
Metodo 1: filtra in base al valore di una colonna
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value
End Sub
Questa particolare macro filtrerà l’intervallo A1:C11 per mostrare solo le righe la cui prima colonna è uguale al valore della cella F2 .
Metodo 2: filtra in base a più valori di colonna
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value, _
Operator:=xlOr, Criteria2:=Range(" F3 ").Value
End Sub
Questa particolare macro filtrerà l’intervallo A1:C11 per mostrare solo le righe la cui prima colonna è uguale al valore della cella F2 o F3 .
Metodo 3: Cancella filtri
SubClearFilters ()
ActiveSheet.AutoFilterMode = False
End Sub
Questa particolare macro cancellerà tutti i filtri dal foglio corrente.
Gli esempi seguenti mostrano come utilizzare nella pratica ciascuno di questi metodi.
Esempio 1: filtra in base al valore di una colonna
Supponiamo di avere un set di dati contenente informazioni su vari giocatori di basket e di voler filtrare il set di dati per contenere solo quelle righe il cui valore nella colonna Squadra è uguale ad A:
Per fare ciò possiamo creare la seguente macro:
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value
End Sub
Quando eseguiamo questa macro, il set di dati verrà automaticamente filtrato per contenere solo righe il cui valore nella colonna Team è uguale ad A:
Esempio 2: filtro in base a più valori di colonna
Diciamo che vogliamo filtrare il set di dati per contenere solo righe il cui valore nella colonna Team è uguale ad A o C:
Per fare ciò possiamo creare la seguente macro:
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value, _
Operator:=xlOr, Criteria2:=Range(" F3 ").Value
End Sub
Quando eseguiamo questa macro, il set di dati viene automaticamente filtrato per mostrare solo le righe il cui valore nella colonna Team è uguale ad A o C.
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 aggiornare le tabelle pivot
VBA: come filtrare le tabelle pivot
VBA: come rimuovere valori duplicati