- Disattiva il filtro automatico nel foglio di lavoro attivo in VBA
- Attiva il filtro automatico nel foglio di lavoro attivo in VBA
- Disattiva il filtro automatico in tutti i fogli di lavoro in VBA.
- Disattiva il filtro automatico in tutti i fogli di lavoro in VBA.
- Cancella tutti i filtri nel foglio di lavoro attivo in VBA
- Cancella tutti i filtri in tutti i fogli di lavoro in VBA
- Cancella tutti i filtri in una tabella in VBA
Questo tutorial dimostrerà come disattivare/cancellare i filtri automatici in VBA.
I filtri automatici possono essere attivati o disattivati utilizzando il codice VBA.
Disattiva il filtro automatico nel foglio di lavoro attivo in VBA
L'esempio di codice seguente disattiva il filtro automatico nel foglio attivo, verificando prima che non sia già disattivato.
12345 | KillFilter secondario pubblico()Se ActiveSheet.AutoFilterMode ThenActiveSheet.AutoFilterMode = FalseFinisci seFine sottotitolo |
Attiva il filtro automatico nel foglio di lavoro attivo in VBA
L'esempio di codice seguente attiva il filtro automatico nel foglio attivo, verificando prima che non sia già attivo.
12345 | Public Sub StartFilter()Se non è ActiveSheet.AutoFilterMode, alloraActiveSheet.Range("A1").AutoFilterFinisci seFine sottotitolo |
Disattiva il filtro automatico in tutti i fogli di lavoro in VBA.
L'esempio di codice seguente scorre ogni foglio dell'intera cartella di lavoro e disattiva il filtro automatico in ogni foglio di lavoro, verificando innanzitutto che il filtro nella cartella di lavoro corrente non sia già attivo.
12345678 | Sub pubblico StopAllFilters()Dim ws come foglio di lavoroPer ogni ws in ActiveWorkbook.WorksheetsSe ws.AutoFilterMode = True Alloraws.AutoFilterMode = FalseFinisci seAvanti wFine sottotitolo |
Disattiva il filtro automatico in tutti i fogli di lavoro in VBA.
Allo stesso modo, il seguente esempio di codice scorre l'intera cartella di lavoro e attiva il filtro automatico in ogni foglio, verificando prima che il filtro nella cartella di lavoro corrente non sia già attivo.
12345678 | Public Sub StartAllFilters()Dim ws come foglio di lavoroPer ogni ws in ActiveWorkbook.WorksheetsSe non è ws.AutoFilterMode, alloraws.Range("A1").AutoFilterFinisci seAvanti wFine sottotitolo |
Cancella tutti i filtri nel foglio di lavoro attivo in VBA
L'esempio di codice seguente lascia attivato il filtro automatico nel foglio attivo, ma cancella tutti i filtri applicati ai dati.
12345 | Public Sub ClearFilter()Se ActiveSheet.FilterMode = True AlloraActiveSheet.ShowAllDataFinisci seFine sottotitolo |
Cancella tutti i filtri in tutti i fogli di lavoro in VBA
Allo stesso modo, l'esempio di codice seguente scorre l'intera cartella di lavoro e lascia attivato il filtro automatico in ogni foglio se è già attivo, ma cancella tutti i filtri applicati ai dati.
12345678 | Public Sub ClearAllFilters()Dim ws come foglio di lavoroPer ogni ws in ActiveWorkbook.WorksheetsSe ws.FilterMode = True Alloraws.ShowAllDataFinisci seAvanti wFine sottotitolo |
Cancella tutti i filtri in una tabella in VBA
Se il nostro foglio di lavoro contiene un oggetto tabella, possiamo modificare il codice per cancellare solo qualsiasi filtro applicato a quel filtro, lasciando attivato il filtro automatico.
123456789 | Sub ClearFilterFromTable()Dim ws come foglio di lavoroDim stabile come stringaDim loTable As ListObjectsTable = "Tabella1"Imposta ws = ActiveSheetImposta loTable = ws.ListObjects(sTable)loTable.AutoFilter.ShowAllDataFine sottotitolo |
Se l'oggetto tabella è collegato a una tabella pivot, la tabella pivot si aggiornerà di conseguenza.