Консультация № 143038
04.09.2008, 10:38
0.00 руб.
0 2 2
Уважаемые эксперты, как программно (VBA Excell) определить включен ли автофильт в Excell?
Спасибо!

Обсуждение

давно
Профессионал
848
1596
04.09.2008, 11:13
общий
это ответ
Здравствуйте, Денисов Сергей Иванович!
Пример реализации в приложении.
Пример найден в хелпе %ProgramFiles%\Microsoft Office\OFFICE11\1049\VBAXL10.CHM

Приложение:
If Worksheets("Лист1").AutoFilterMode Then
isOn = "On"
Else
isOn = "Off"
End If
MsgBox "AutoFilterMode is " & isOn
Неизвестный
04.09.2008, 11:14
общий
это ответ
Здравствуйте, Денисов Сергей Иванович!
Для проверки включен или нет автофильтр применяется свойство страницы Excel: AutoFilterMode.
Пример использования:
If ThisWorkbook.ActiveSheet.AutoFilterMode Then // True - включен, False - выключен
.....
End If

Для проверки включена ли непосредственно фильтрация данных в автофильтре применяется свойство фильтра On:
Пример:
If ThisWorkbook.ActiveSheet.AutoFilterMode Then
filterIsOn = ThisWorkbook.ActiveSheet.AutoFilter.Filters(1).On // True - есть фильтрация, False - нет фильтрации
End If

Можете ещё почитать в справке Visual Basic по поиску, введя слово AutoFilter.
Форма ответа