Desligue o filtro automático do código - exemplos de código 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.

wave wave wave wave wave