Как выборочно скрыть стрелки автофильтра
Автор Дмитрий Якушев На чтение2 мин. Просмотров64
Что делает макрос: Само собой разумеется, что функция AutoFilter в Excel является одной из самых полезных. Единственная проблема заключается в том, что стандартная функциональность AutoFilter применяет стрелки раскрывающегося списка к каждому столбцу в выбранном наборе данных. Хорошей новостью является то, что с макросом VBA, вы можете выборочно скрыть стрелки автофильтра раскрывающегося списка.
Содержание
- Как макрос работает
- Код макроса
- Как использовать
Как макрос работает
В VBA, мы можем использовать объект AutoFilter, чтобы включить автофильтры для определенного диапазона. Например:
Range("B5:G5").AutoFilter
После того, как применится автофильтр, мы можем манипулировать с каждой колонкой в Автофильтре. Например, вы можете выполнить некоторые действия на третьей колонке в Автофильтре, вот так:
Range("B5:G5").AutoFilter Field:3
Вы можете выполнять множество действий на поле Автофильтр. В этом случае, мы заинтересованы сделать стрелки раскрывающегося списка невидимыми в поле. Для этого мы можем использовать параметр VisibleDropDown. Установка этого параметра в значение False делает стрелку раскрывающегося списка невидимой.
Range("B5:G5").AutoFilter Field:3,
VisibleDropDown:=False
Код макроса
Пример макроса, где мы включаем автофильтры, а затем делаем видимыми только первую и последнюю раскрывающиеся стрелки .
Sub SkritStrelkiAvtofiltra()
With Range("B5:G5")
.AutoFilter
.AutoFilter Field:=1, VisibleDropDown:=True
.AutoFilter Field:=2, VisibleDropDown:=False
.AutoFilter Field:=3, VisibleDropDown:=False
.AutoFilter Field:=4, VisibleDropDown:=False
.AutoFilter Field:=5, VisibleDropDown:=False
.AutoFilter Field:=6, VisibleDropDown:=True
End With
End Sub