Вимкніть автофільтр із коду - приклади коду VBA

Цей підручник покаже, як вимкнути /очистити автофільтри у VBA.

Автофільтри можна вмикати або вимикати за допомогою коду VBA.

Вимкніть автофільтр на активному аркуші у VBA

У наведеному нижче прикладі коду вимикається автофільтр в активному аркуші, спочатку перевіряючи, чи він ще не вимкнений.

12345 Загальнодоступний допоміжний фільтр KillFilter ()Якщо ActiveSheet.AutoFilterMode ТодіActiveSheet.AutoFilterMode = НеправдаЗакінчити ЯкщоEnd Sub

Увімкніть автофільтр на активному аркуші у VBA

У наведеному нижче прикладі коду вмикається автофільтр в активному аркуші, спочатку перевіряючи, чи він ще не ввімкнений.

12345 Загальнодоступний Sub StartFilter ()Якщо не ActiveSheet.AutoFilterMode ТодіActiveSheet.Range ("A1"). АвтофільтрЗакінчити ЯкщоEnd Sub

Вимкніть автофільтр на всіх аркушах VBA.

Наведений нижче приклад коду перебирає кожен аркуш у всій книзі та вимикає автофільтр на кожному аркуші, спочатку перевіряючи, чи фільтр у поточній книзі ще не ввімкнено.

12345678 Громадська підстанціяAllFilters ()Затемнити як робочий аркушДля кожного ws В ActiveWorkbook.WorksheetsЯкщо ws.AutoFilterMode = Істинно Тодіws.AutoFilterMode = НеправдаЗакінчити ЯкщоНаступний wsEnd Sub

Вимкніть автофільтр на всіх аркушах VBA.

Аналогічно, наведений нижче приклад коду перебирає всю книгу та вмикає автофільтр на кожному аркуші, спочатку перевіряючи, чи фільтр у поточній книзі ще не увімкнено.

12345678 Загальнодоступний субпочатокAllFilters ()Затемнити як робочий аркушДля кожного ws В ActiveWorkbook.WorksheetsЯкщо ні, то ws.AutoFilterMode Тодіws.Range ("A1"). АвтофільтрЗакінчити ЯкщоНаступний wsEnd Sub

Очистити всі фільтри на активному аркуші у VBA

У наведеному нижче прикладі коду залишається автофільтр увімкненим в активному аркуші, але очищається будь -який фільтр, застосований до даних.

12345 Публічний додатковий ClearFilter ()Якщо ActiveSheet.FilterMode = True ТодіActiveSheet.ShowAllDataЗакінчити ЯкщоEnd Sub

Очистити всі фільтри на всіх робочих аркушах у VBA

Аналогічно, наведений нижче приклад коду перебирає всю книгу та залишає автофільтр увімкненим на кожному аркуші, якщо він уже ввімкнений, але очищає будь -який фільтр, застосований до даних.

12345678 Загальнодоступний Sub ClearAllFilters ()Затемнити як робочий аркушДля кожного ws В ActiveWorkbook.WorksheetsЯкщо ws.FilterMode = Істинно Тодіws.ShowAllDataЗакінчити ЯкщоНаступний wsEnd Sub

Очистити всі фільтри в таблиці у VBA

Якщо наш робочий аркуш містить об’єкт таблиці, ми можемо налаштувати код, щоб просто очистити будь -який фільтр, застосований до цього фільтра, залишаючи автофільтр увімкненим.

123456789 Sub ClearFilterFromTable ()Затемнити як робочий аркушЗатемнити таблицю як рядокЗатемнити таблицю як ListObjectsTable = "Таблиця1"Встановіть ws = ActiveSheetВстановити loTable = ws.ListObjects (sTable)loTable.AutoFilter.ShowAllDataEnd Sub

Якщо об'єкт таблиці буде пов'язано з зведеною таблицею, зведена таблиця буде відповідно оновлено.

wave wave wave wave wave