Перейти до основного матеріалу
Note: The other languages of the website are Google-translated. Back to English

Як очистити фільтри з усіх аркушів в активній книзі в Excel?

Припустимо, ви створили кілька фільтрів на різних робочих аркушах у книзі Excel, і тепер ви хочете очистити всі ці фільтри одночасно. Зазвичай вам потрібно перейти до робочого аркуша по одному, щоб перевірити фільтр, а потім очистити його вручну. Чи є якийсь зручний метод очищення фільтрів з усіх аркушів в активній книзі? Спробуйте метод у цій статті.

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


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

Запустіть наведений нижче сценарій VBA, щоб очистити фільтри з усіх аркушів в активній книзі.

1. У книзі, з якої потрібно очистити фільтри, натисніть кнопку інший + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

2 В Microsoft Visual Basic для додатків вікна, натисніть Insert > Модулі. Потім скопіюйте та вставте наведений нижче сценарій VBA у вікно модуля. Дивіться знімок екрана нижче:

Код VBA: очистити фільтри з усіх аркушів в активній книзі

Sub Clear_fiter()()
'Updated by Extendoffice 20210625
    Dim xAF As AutoFilter
    Dim xFs As Filters
    Dim xLos As ListObjects
    Dim xLo As ListObject
    Dim xRg As Range
    Dim xWs As Worksheet
    Dim xIntC, xF1, xF2, xCount As Integer
    Application.ScreenUpdating = False
    On Error Resume Next
    For Each xWs In Application.Worksheets
        xWs.ShowAllData
        Set xLos = xWs.ListObjects
        xCount = xLos.Count
        For xF1 = 1 To xCount
         Set xLo = xLos.Item(xF1)
         Set xRg = xLo.Range
         xIntC = xRg.Columns.Count
         For xF2 = 1 To xIntC
            xLo.Range.AutoFilter Field:=xF2
         Next
        Next
    Next
    Application.ScreenUpdating = True

End Sub

3 Натисніть кнопку F5 клавіша для запуску коду. Тоді всі фільтри на всіх аркушах поточної книги негайно очищаються.


Статті по темі:


Найкращі інструменти для підвищення продуктивності офісу

Kutools for Excel Вирішує більшість ваших проблем і підвищує вашу продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2021 і 365. Підтримує всі мови. Легке розгортання на вашому підприємстві чи в організації. 30-денна безкоштовна пробна версія повних функцій. 60-денна гарантія повернення грошей.
вкладка kte 201905

Office Tab Надає інтерфейс із вкладками в Office і значно полегшує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (11)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Ти проклятий мерзотник, це видалило всі наші фільтри! Весь наш скрипт на Python був знищений, тому що він коштував нам годин! ЙДІТЬ ДО ПЕКЛА ВИ, МОРОЗИ!!!!!!!!!!!!!!!!
Цей коментар був мінімізований модератором на сайті
привіт,
Вибачте за помилку. Код було оновлено в публікації, щоб лише очистити фільтри, а не видаляти їх. Будь ласка, спробуйте та вибачте за незручності.
Цей коментар був мінімізований модератором на сайті
Чому ви не перевірили його повністю, перш ніж працювати над останнім файлом, і чи у вас немає резервної копії... попрацюйте над своїми ІТ-звичками, перш ніж використовувати грубу лексику.
Цей коментар був мінімізований модератором на сайті
Ви отримуєте безкоштовну допомогу і принижуєте інших за власні дурні помилки. Такі, як ти, заслуговують на особливе місце в пеклі
Цей коментар був мінімізований модератором на сайті
це видаляє всі фільтри, я хотів щось, що очищало б фільтри, а не видаляло їх.
Цей коментар був мінімізований модератором на сайті
Привіт, Сайма, я зрозумів вашу думку. Код було оновлено в публікації, щоб лише очистити фільтри, а не видаляти їх. Будь ласка, спробуйте та вибачте за незручності. Sub Auto_Open()
'Оновлено Extendoffice 20201113
Dim xAF як автофільтр
Dim xFs як фільтри
Dim xLos як ListObjects
Dim xLo як ListObject
Dim xRg As Range
Dim xWs як робочий аркуш
Dim xIntC, xF1, xF2, xCount як ціле число
Application.ScreenUpdating = Невірний
On Error Resume Next
Для кожного xWs в Application.Worksheets
xWs.ShowAllData
Встановіть xLos = xWs.ListObjects
xCount = xLos.Count
Для xF1 = 1 До xCount
Встановити xLo = xLos. Item(xF1)
Встановіть xRg = xLo.Діапазон
xIntC = xRg.Columns.Count
Для xF2 = 1 до xIntC
Поле xLo.Range.AutoFilter:=xF2
Далі
Далі
Далі
Application.ScreenUpdating = True

End Sub
Цей коментар був мінімізований модератором на сайті
Дякую це мені дуже допомагає ;=)
Цей коментар був мінімізований модератором на сайті
привіт, щоразу, коли я відкриваю файл, макрос запускається, а фільтри очищаються, як уникнути цього "автоматичного запуску" макросу?
Цей коментар був мінімізований модератором на сайті
Привіт, Хуан Морено!
Вибачте за свою помилку. Замініть перший рядок:
Sub Auto_Open()зSub Clear_filter()з вирішенням проблеми.
Цей коментар був мінімізований модератором на сайті
Який рядок слід змінити, щоб обмежити макрос ТІЛЬКИ активним аркушем, а не всіма? Дуже вдячний!
Цей коментар був мінімізований модератором на сайті
@Lorif - видалити For Every xWs In Application.Worksheets and one of the Nexts
There are no comments posted here yet