Итог: узнайте, как применять фильтры цвета и значков в VBA. Включает примеры фильтрации по цвету шрифта, цвету заливки и значкам условного форматирования.
Уровень мастерства: Средний
Скачать файл
Файл Excel, содержащий код, можно скачать ниже. Этот файл содержит код для фильтрации различных типов данных и типов фильтров. Пожалуйста, ознакомьтесь с моей статьей Фильтрация сводной таблицы или среза по самой последней дате или периоду для более подробной информации.
VBA AutoFilters Guide.xlsm (100.5 KB)
Фильтры цвета и значков в Excel
Фильтры для шрифта и цвета заливки были введены в Excel 2010. Это позволяет нам быстро фильтровать столбцы на основе форматирования ячеек, который можно применять вручную или с помощью условного форматирования.
Меню «Фильтр по цвету» появляется, когда столбец содержит какой-либо шрифт или заливку. Оно также появляется, когда столбец содержит значки, созданные условным форматированием. Мы также можем использовать VBA для применения этих фильтров.
Давайте посмотрим на некоторые примеры кода для различных цветовых фильтров.
Фильтры цвета и значков в VBA
Sub AutoFilter_Color_Icon_Examples()
' Примеры фильтрации столбцов с помощью COLORS и ICONS
Dim lo As ListObject
Dim iCol As Long
' Установить ссылку на первую таблицу на листе
Set lo = Sheet1.ListObjects(1)
' Установить поле фильтра
iCol = lo.ListColumns("Product").Index
' Очистить фильтры
lo.AutoFilter.ShowAllData
With lo.Range
' Цвета
' Цвет шрифта и заливки устанавливаются в критерии 1.
' Макро-рекордер дает нам значение RGB. RGB также можно
' найти в меню More Colors на вкладке Custom.
' Cell Fill Color для темно-красного
.AutoFilter Field:=iCol, _
Criteria1:=RGB(192, 0, 0), _
Operator:=xlFilterCellColor
' Цвет шрифта для темно-зеленого
.AutoFilter Field:=iCol, _
Criteria1:=RGB(0, 97, 0), _
Operator:=xlFilterFontColor
' Иконки
' Установить поле фильтра
iCol = lo.ListColumns("Icon").Index
' Очистить фильтры
lo.AutoFilter.ShowAllData
' Значок (условное форматирование)
.AutoFilter Field:=iCol, _
Criteria1:=ThisWorkbook.IconSets(xl4CRV).Item(4), _
Operator:=xlFilterIcon
End With
End Sub
Фильтры и типы данных
Параметры раскрывающегося меню фильтра изменяются в зависимости от типа данных в столбце. У нас есть разные фильтры для текста, чисел, дат и цветов. Это создает МНОГО различных комбинаций операторов и критериев для каждого типа фильтра.
Я создал отдельные статьи для каждого из этих типов фильтров. Статьи содержат пояснения и примеры кода VBA.
- Как очистить фильтры с помощью VBA
- Как отфильтровать пустые и непустые ячейки
- Как фильтровать текст с помощью VBA
- Как отфильтровать даты по VBA
- Как фильтровать числа с помощью VBA
Файл в разделе загрузок выше содержит все эти примеры кода в одном месте. Вы можете добавить его в свою личную книгу макросов и использовать макросы в своих проектах.
Пожалуйста, оставьте комментарий ниже с любыми вопросами или предложениями. Спасибо!