per cancellare tutti i filtri in VBA, è necessario effettuare i seguenti passaggi:
- Inserire i dati in un foglio di
- fare Clic su dati e l’uso Ctrl + T per creare una tabella
Cancella tutti i filtri nella tabella attiva
fare Clic all’interno di una tabella, e aprire l’Editor di VBA (Alt + F11).
Immettere ed eseguire il seguente codice.
Sub RemoveFiltersFromTable() ActiveSheet.ShowAllDataEnd Sub
Se una cella attiva si trova all’esterno della tabella, restituirà un errore.
Cancella tutti i filtri nel foglio di calcolo
Nel nostro esempio, ci sono due tabelle: Table1 e Table2. Ognuno di loro ha applicato filtri.
Per controllare il nome di una tabella, vai a Design>> Proprietà> > Nome della tabella.
È possibile utilizzare il codice VBA precedente, fare clic su ciascuna delle tabelle ed eseguire il codice. Ma questa volta creiamo un codice che cancellerà tutti i filtri da tutte le tabelle nel foglio di lavoro.
Per cancellare il filtro all’interno di ogni tabella su un foglio di calcolo, prima devi scorrere tutti loro. Utilizzare il seguente codice.
Sub LoopThroughTablesInsideWorksheet()Dim myTable As ListObject For Each myTable In ActiveSheet.ListObjects MsgBox myTable Next myTableEnd Sub
Restituirà due finestre di messaggi con i nomi della tabella.
Invece di un messaggio, creiamo codice che cancellerà i filtri da ogni tabella. Per fare ciò, basta cambiare MsgBox myTable in myTable.Filtro automatico.Mostra tutti i dati.
Sub LoopThroughTablesInsideWorksheet()Dim myTable As ListObject For Each myTable In ActiveSheet.ListObjects myTable.AutoFilter.ShowAllData Next myTableEnd Sub
La nuova riga controllerà ogni tabella e mostrerà tutti i dati, in altre parole, rimuoverà tutti i filtri.
Cancella tutto il filtro nella cartella di lavoro
Per farlo per tutte le tabelle all’interno della cartella di lavoro, è necessario aggiungere un ciclo aggiuntivo che passerà attraverso tutte le tabelle in ogni foglio e cancella i filtri.
Sub LoopThroughTablesInsideWorkbook()Dim myTable As ListObjectDim mySheet As WorksheetFor Each mySheet In Worksheets For Each myTable In mySheet.ListObjects myTable.AutoFilter.ShowAllData Next myTableNext mySheetEnd Sub
Foglio di calcolo e Python appassionato.