Как очистить фильтры при открытии, сохранении или закрытии книги в Excel?
Предположим, что в вашей книге есть несколько листов с отфильтрованными данными. Чтобы очистить все фильтры, вам нужно проверить отфильтрованные списки на разных листах, а затем очистить их вручную один за другим. Это утомительно! В этой статье мы покажем вам несколько методов очистки фильтров при открытии, сохранении или закрытии книги в Excel.
Очистка фильтров при открытии книги в Excel
Очистка фильтров при сохранении книги в Excel
Очистка фильтров при закрытии/выходе из книги в Excel
Очистка фильтров при открытии книги в Excel
В этом разделе речь пойдет об очистке фильтров на всех листах при открытии книги. Пожалуйста, следуйте указаниям ниже.
1. В книге, где необходимо автоматически очистить все фильтры при открытии, нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. В окне Microsoft Visual Basic for Applications дважды щелкните ThisWorkbook в левой панели Проекта, затем скопируйте и вставьте приведенный ниже код VBA в окно ThisWorkbook (Код). См. скриншот:
Код VBA: Очистить все фильтры при открытии книги
Private Sub Workbook_Open()
'Updated by Extendoffice 20221012
Dim ws As Worksheet
For Each ws In Worksheets
If ws.AutoFilterMode Then
ws.ShowAllData
End If
Next ws
End Sub
3. Нажмите клавиши Alt + Q, чтобы выйти из окна Microsoft Visual Basic for Applications.
4. Щелкните Файл > Сохранить как. В появившемся диалоговом окне «Сохранить как» укажите папку для сохранения этой книги, назовите ее по своему усмотрению в поле Имя файла, затем выберите опцию Книга с поддержкой макросов Excel из выпадающего списка Тип файла и, наконец, нажмите кнопку Сохранить.
Теперь, когда вы открываете эту книгу с поддержкой макросов, все фильтры в этой книге будут очищаться автоматически.

Раскройте магию Excel с Kutools AI
- Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
- Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
- Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
- Интерпретация формул: Легко разбирайтесь в сложных формулах.
- Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Очистка фильтров при сохранении книги в Excel
Вы можете очистить все фильтры из текущей книги каждый раз при ее сохранении.
1. В книге, из которой необходимо автоматически очистить все фильтры, нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. В окне Microsoft Visual Basic for Applications дважды щелкните ThisWorkbook в левой панели Проекта, затем скопируйте и вставьте приведенный ниже код VBA в окно ThisWorkbook (Код). См. скриншот:
Код VBA: Очистить фильтры при сохранении книги
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Updated by Extendoffice 20221012
Dim ws As Worksheet
For Each ws In Worksheets
If ws.AutoFilterMode Then
ws.ShowAllData
End If
Next ws
End Sub
3. Нажмите клавиши Alt + Q, чтобы выйти из окна Microsoft Visual Basic for Applications.
Теперь, при сохранении книги, все фильтры будут очищаться автоматически.
Очистка фильтров при закрытии/выходе из книги в Excel
В последнем разделе мы покажем вам, как очистить все фильтры на листах при закрытии или выходе из книги.
1. Откройте книгу, из которой необходимо автоматически очистить все фильтры, затем нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. В окне Microsoft Visual Basic for Applications дважды щелкните ThisWorkbook в левой панели Проекта, затем скопируйте и вставьте приведенный ниже код VBA в окно ThisWorkbook (Код). См. скриншот:
Код VBA: Очистить все фильтры на листах при закрытии/выходе из книги
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Worksheet
For Each ws In Worksheets
If ws.AutoFilterMode Then
ws.AutoFilterMode = False
End If
Next ws
End Sub
Примечание: Если вы хотите очистить фильтры только в активном листе, используйте приведенный ниже код VBA.
Код VBA: Очистить фильтр в активном листе при закрытии книги
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Updated by Extendoffice 20221012
Dim ws As Worksheet
Set ws = ActiveSheet
If ws.AutoFilterMode Then
ws.ShowAllData
End If
End Sub
3. Нажмите клавиши Alt + Q, чтобы выйти из окна Microsoft Visual Basic for Applications.
Теперь, после нажатия кнопки Закрыть в книге, все фильтры будут очищаться автоматически.
Связанные статьи:
- Как очистить кэш фильтра (старые элементы) из сводной таблицы в Excel?
- Как очистить фильтры со всех листов в активной книге в Excel?
- Как фильтровать данные на основе флажков в Excel?
- Как заполнить серию чисел в отфильтрованном столбце списка в Excel?
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!