- Вимкніть автофільтр на активному аркуші у VBA
- Увімкніть автофільтр на активному аркуші у VBA
- Вимкніть автофільтр на всіх аркушах VBA.
- Вимкніть автофільтр на всіх аркушах VBA.
- Очистити всі фільтри на активному аркуші у VBA
- Очистити всі фільтри на всіх робочих аркушах у VBA
- Очистити всі фільтри в таблиці у 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 |
Якщо об'єкт таблиці буде пов'язано з зведеною таблицею, зведена таблиця буде відповідно оновлено.