Как очистить фильтры в excel с помощью vba (с примером)
Вы можете использовать следующий синтаксис в VBA, чтобы очистить все фильтры из листа Excel:
SubClearFilters ()
If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData
End Sub
Этот конкретный макрос очистит все фильтры с текущего активного листа.
Этот макрос работает с использованием метода ShowAllData , чтобы сделать видимыми все скрытые в данный момент строки.
Если на активном листе в данный момент не фильтруются строки, при запуске этого макроса ничего не произойдет.
В следующем примере показано, как использовать этот макрос на практике.
Пример: очистить все фильтры в Excel с помощью VBA
Допустим, у нас есть следующий набор данных в Excel, содержащий информацию о различных баскетболистах:
Теперь предположим, что мы добавим фильтр, чтобы отображать только те строки, где значение в столбце «Команда» равно Mavs или Nets:
Теперь предположим, что мы хотим очистить этот фильтр с помощью VBA.
Для этого мы можем создать следующий макрос:
SubClearFilters ()
If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData
End Sub
Когда мы запустим этот макрос, фильтр автоматически очистится с листа:
Обратите внимание, что все ранее скрытые строки теперь снова видимы, поскольку мы очистили фильтр.
Примечание . Полную документацию по методу VBA ShowAllData можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: как фильтровать сводные таблицы
VBA: как обновить сводные таблицы
VBA: как удалить повторяющиеся значения