Disattiva il filtro automatico dal codice - Esempi di codice 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.

wave wave wave wave wave