Wyłącz autofiltrowanie z kodu - przykłady kodu VBA

Ten samouczek pokaże, jak wyłączyć / wyczyścić Autofiltry w VBA.

Autofiltry można włączać i wyłączać za pomocą kodu VBA.

Wyłącz Autofiltr w aktywnym arkuszu w VBA

Poniższy przykład kodu wyłącza Autofiltrowanie w aktywnym arkuszu, sprawdzając najpierw, czy nie jest już wyłączony.

12345 Publiczny filtr podrzędny KillFilter()Jeśli ActiveSheet.AutoFilterMode toActiveSheet.AutoFilterMode = FałszZakończ, jeśliNapis końcowy

Włącz Autofiltr w aktywnym arkuszu w VBA

Poniższy przykład kodu włącza Autofiltrowanie w aktywnym arkuszu, sprawdzając najpierw, czy nie jest jeszcze włączony.

12345 Publiczny podrzędny filtr startowy()Jeśli nie ActiveSheet.AutoFilterMode toActiveSheet.Range("A1").AutoFilterZakończ, jeśliNapis końcowy

Wyłącz Autofiltr we wszystkich arkuszach roboczych w VBA.

Poniższy przykład kodu przechodzi przez każdy arkusz w całym skoroszycie i wyłącza Autofiltrowanie w każdym arkuszu, sprawdzając najpierw, czy filtr w bieżącym skoroszycie nie jest już włączony.

12345678 Public Sub StopAllFilters()Dim ws As WorksheetDla każdego ws In ActiveWorkbook.WorksheetsJeśli ws.AutoFilterMode = True Wtedyws.AutoFilterMode = FałszZakończ, jeśliNastępnyNapis końcowy

Wyłącz Autofiltr we wszystkich arkuszach roboczych w VBA.

Podobnie poniższy przykład kodu przechodzi przez cały skoroszyt i włącza Autofiltrowanie w każdym arkuszu, sprawdzając najpierw, czy filtr w bieżącym skoroszycie nie jest już włączony.

12345678 Public Sub StartAllFilters()Dim ws As WorksheetDla każdego ws In ActiveWorkbook.WorksheetsJeśli nie ws.AutoFilterMode tows.Range("A1").AutoFilterZakończ, jeśliNastępnyNapis końcowy

Wyczyść wszystkie filtry w aktywnym arkuszu w VBA

Poniższy przykład kodu pozostawia włączony AutoFilter w aktywnym arkuszu, ale czyści wszystkie filtry zastosowane do danych.

12345 Publiczny Sub ClearFilter()Jeśli ActiveSheet.FilterMode = True, wtedyActiveSheet.ShowAllDataZakończ, jeśliNapis końcowy

Wyczyść wszystkie filtry we wszystkich arkuszach roboczych w VBA

Podobnie poniższy przykład kodu przechodzi przez cały skoroszyt i pozostawia włączony Autofiltr w każdym arkuszu, jeśli jest już włączony, ale czyści wszystkie filtry zastosowane do danych.

12345678 Public Sub ClearAllFilters()Dim ws As WorksheetDla każdego ws In ActiveWorkbook.WorksheetsJeśli ws.FilterMode = True Wtedyws. Pokaż wszystkie daneZakończ, jeśliNastępnyNapis końcowy

Wyczyść wszystkie filtry w tabeli w VBA

Jeśli nasz arkusz zawiera obiekt tabeli, możemy dostosować kod, aby wyczyścić dowolny filtr zastosowany do tego filtra, pozostawiając włączony Autofiltr.

123456789 Sub ClearFilterFromTable()Dim ws As WorksheetStable Dim Stable As StringDim lotTable jako ListObjectsTabela = "Tabela1"Ustaw ws = Aktywny arkuszUstaw loTable = ws.ListObjects(sTable)loTable.AutoFilter.ShowAllDataNapis końcowy

Jeśli obiekt tabeli zostanie połączony z tabelą przestawną, tabela przestawna zostanie odpowiednio odświeżona.

wave wave wave wave wave