Страницы: 1
RSS
В VBA возвратить автофильтр в исходное состояние (раскрыть «Все»)
 
Макрос, возвращающий на лист Главная, поочередно выставляет в исходное состояние (раскрывает «Все») столбцы автофильтра, которые могли фильтровать список (т.е. все столбцы, встречающиеся в средней части всех макросов, управляющих фильтром)  
   Selection.AutoFilter Field:=1  
   Selection.AutoFilter Field:=5  
   Selection.AutoFilter Field:=n  
Нашел, как «попросить» список одной строкой открыть все данные: ActiveSheet.ShowAllData, но если список не фильтрован, то ActiveSheet.ShowAllData ошибается.  
Пробовал Selection.AutoFilter – работает, но хитро. Открывает все данные, при этом кнопки списка становятся неактивны (вернее – исчезают). Кнопки остаются, если до этого список не фильтровался.  
Если открыть данные для внесения изменений (Корректировка), то кнопок списка можно и не увидеть.  
Как правильно раскрыть все строки?
 
Виктор, проще всего заблокировать ошибку:  
On Error Resume Next  
ActiveSheet.ShowAllData  
 
Инфо на всякий случай: видимостью кнопок автофильтра можно управлять с помощью параметра  
.AutoFilter VisibleDropDown:=True / False
 
Спасибо, буду пробовать.
 
Без блокировки ошибки:  
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
Bite my shiny metal ass!      
 
Да, хорошо, оба варианта применимы.
Страницы: 1
Читают тему
Наверх