, a fim de limpar todos os filtros no VBA, você tem que fazer os seguintes passos:
- Inserir dados em uma planilha
- Clique sobre os dados e use Ctrl + T para criar uma tabela
Limpar todos os filtros na tabela ativa
Clique dentro de uma tabela, e abrir o Editor VBA (Alt + F11).
digite e execute o seguinte código.
Sub RemoveFiltersFromTable() ActiveSheet.ShowAllDataEnd Sub
Se uma célula activa estiver fora da tabela, irá retornar um erro.
Limpar todos os filtros na planilha
no nosso exemplo, existem duas tabelas: Table1 e Table2. Cada um deles aplicou filtros.
A fim de verificar o nome de uma tabela go to Design >> propriedades >> > nome da tabela.
Você pode usar o código VBA anterior, clicar em cada uma das tabelas, e executar o código. Mas desta vez vamos criar um código que irá limpar todos os filtros de todas as tabelas na planilha.
a fim de limpar o filtro dentro de cada tabela em uma planilha, primeiro você precisa fazer loop através de todos eles. Use o seguinte código.
Sub LoopThroughTablesInsideWorksheet()Dim myTable As ListObject For Each myTable In ActiveSheet.ListObjects MsgBox myTable Next myTableEnd Sub
irá devolver duas janelas de mensagens com os nomes da tabela.
em vez de uma mensagem, vamos criar um código que irá limpar filtros de cada tabela. Para fazer isso, basta mudar MsgBox myTable para myTable.automatico.ShowAllData.
Sub LoopThroughTablesInsideWorksheet()Dim myTable As ListObject For Each myTable In ActiveSheet.ListObjects myTable.AutoFilter.ShowAllData Next myTableEnd Sub
a nova linha irá verificar cada tabela, e mostrar todos os dados, em outras palavras, irá remover todos os filtros.
Limpar todos os filtros no livro de trabalho
A fim de fazê-lo para todas as tabelas dentro do livro de trabalho, você tem que adicionar um laço adicional que irá passar por todas as tabelas em cada folha e filtros claros.
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
folha de cálculo e entusiasta de Python.