Макрос 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 не будет опубликован. Обязательные поля помечены *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Translate »

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

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

Принять