Перейти к содержимому

Макрос VBA Excel, который сбрасывает фильтры в таблице.

     

     

     

    Для того чтобы сбросить фильтры в таблице Excel, не удаляя их, можно использовать следующий макрос VBA. Этот макрос установит фильтры на все значения в каждом столбце таблицы, что эквивалентно сбросу фильтров.

     

     

    Sub ResetFilters() Dim ws As Worksheet Dim tbl As ListObject Dim col As ListColumn ' Убедитесь, что активный лист содержит таблицу On Error Resume Next Set ws = ActiveSheet Set tbl = ws.ListObjects(1) On Error GoTo 0 If tbl Is Nothing Then MsgBox "На активном листе нет таблицы.", vbExclamation Exit Sub End If ' Сброс фильтров для каждого столбца For Each col In tbl.ListColumns If col.Range.AutoFilter Then col.Range.AutoFilter Field:=col.Index, Criteria1:="*" End If Next col MsgBox "Фильтры сброшены.", vbInformation End Sub

    Как использовать:

    1. Откройте Excel и перейдите на лист, где находится таблица.
    2. Нажмите Alt + F11, чтобы открыть редактор VBA.
    3. Вставьте новый модуль (Insert > Module) и вставьте туда код выше.
    4. Закройте редактор VBA.
    5. Запустите макрос через Alt + F8, выберите ResetFilters и нажмите Run.

    Что делает этот макрос:

    • Проверяет, есть ли на активном листе таблица.
    • Если таблица найдена, сбрасывает фильтры для каждого столбца, устанавливая критерий фильтрации на * (что означает «любое значение»).
    • Выводит сообщение о завершении операции.

    Этот макрос не удаляет фильтры, а просто устанавливает их на все возможные значения, что эквивалентно сбросу фильтрации.

     

     

    Метки:

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

    Политика конфиденциальности

    Наш сайт использует файлы cookies, чтобы улучшить работу и повысить эффективность сайта. Продолжая работу с сайтом, вы соглашаетесь с использованием нами cookies и политикой конфиденциальности.

    Принять