- Desative o AutoFiltro na planilha ativa no VBA
- Ative o AutoFiltro na planilha ativa no VBA
- Desative o AutoFiltro em todas as planilhas no VBA.
- Desative o AutoFiltro em todas as planilhas no VBA.
- Limpar todos os filtros na planilha ativa no VBA
- Limpar todos os filtros em todas as planilhas no VBA
- Limpar todos os filtros em uma tabela no VBA
Este tutorial demonstrará como desligar / limpar AutoFiltros no VBA.
Os filtros automáticos podem ser ativados ou desativados usando o código VBA.
Desative o AutoFiltro na planilha ativa no VBA
O exemplo de código a seguir desativa o AutoFiltro na planilha ativa, verificando primeiro se ainda não está desativado.
12345 | Public Sub KillFilter ()If ActiveSheet.AutoFilterMode ThenActiveSheet.AutoFilterMode = FalseFim seEnd Sub |
Ative o AutoFiltro na planilha ativa no VBA
O exemplo de código a seguir ativa o AutoFiltro na Planilha Ativa, verificando primeiro se ainda não está ativado.
12345 | Public Sub StartFilter ()If Not ActiveSheet.AutoFilterMode ThenActiveSheet.Range ("A1"). AutoFiltroFim seEnd Sub |
Desative o AutoFiltro em todas as planilhas no VBA.
O exemplo de código a seguir percorre cada planilha na pasta de trabalho inteira e desativa o AutoFiltro em cada planilha, verificando primeiro se o filtro na pasta de trabalho atual ainda não está ativado.
12345678 | Public Sub StopAllFilters ()Dim ws como planilhaPara cada ws em ActiveWorkbook.WorksheetsIf ws.AutoFilterMode = True Thenws.AutoFilterMode = FalseFim sePróximo wsEnd Sub |
Desative o AutoFiltro em todas as planilhas no VBA.
Da mesma forma, o exemplo de código a seguir percorre toda a pasta de trabalho e ativa o AutoFiltro em cada planilha, verificando primeiro se o filtro na pasta de trabalho atual ainda não está ativado.
12345678 | Public Sub StartAllFilters ()Dim ws como planilhaPara cada ws em ActiveWorkbook.WorksheetsIf Not ws.AutoFilterMode Thenws.Range ("A1"). AutoFiltroFim sePróximo wsEnd Sub |
Limpar todos os filtros na planilha ativa no VBA
O exemplo de código a seguir deixa o AutoFiltro ativado na Planilha Ativa, mas limpa todos os filtros aplicados aos dados.
12345 | Public Sub ClearFilter ()If ActiveSheet.FilterMode = True ThenActiveSheet.ShowAllDataFim seEnd Sub |
Limpar todos os filtros em todas as planilhas no VBA
Da mesma forma, o exemplo de código a seguir percorre toda a pasta de trabalho e deixa o AutoFiltro ativado em cada planilha se já estiver ativado, mas limpa todos os filtros aplicados aos dados.
12345678 | Public Sub ClearAllFilters ()Dim ws como planilhaPara cada ws em ActiveWorkbook.WorksheetsIf ws.FilterMode = True Thenws.ShowAllDataFim sePróximo wsEnd Sub |
Limpar todos os filtros em uma tabela no VBA
Caso nossa planilha contenha um objeto de tabela, podemos ajustar o código para apenas limpar qualquer filtro aplicado a esse filtro, enquanto deixamos o AutoFiltro ativado.
123456789 | Sub ClearFilterFromTable ()Dim ws como planilhaDim sTable As StringDim loTable As ListObjectsTable = "Tabela1"Definir ws = ActiveSheetDefina loTable = ws.ListObjects (sTable)loTable.AutoFilter.ShowAllDataEnd Sub |
Se o objeto de tabela estiver vinculado a uma Tabela Dinâmica, a Tabela Dinâmica será atualizada de acordo.