Как отфильтровать столбец с помощью vba (с примерами)
Вы можете использовать следующие методы для фильтрации по столбцу в Excel с помощью VBA:
Способ 1. Фильтрация по значению столбца.
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value
End Sub
Этот конкретный макрос будет фильтровать диапазон A1:C11, чтобы отображать только строки, первый столбец которых равен значению ячейки F2 .
Способ 2: фильтрация на основе значений нескольких столбцов
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value, _
Operator:=xlOr, Criteria2:=Range(" F3 ").Value
End Sub
Этот конкретный макрос будет фильтровать диапазон A1:C11, чтобы отображать только строки, первый столбец которых равен значению ячейки F2 или F3 .
Способ 3: очистить фильтры
SubClearFilters ()
ActiveSheet.AutoFilterMode = False
End Sub
Этот конкретный макрос очистит все фильтры текущего листа.
Следующие примеры показывают, как использовать каждый из этих методов на практике.
Пример 1. Фильтрация по значению столбца
Предположим, у нас есть набор данных, содержащий информацию о различных баскетболистах, и мы хотим отфильтровать набор данных, чтобы он содержал только те строки, значение которых в столбце «Команда» равно A:
Для этого мы можем создать следующий макрос:
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value
End Sub
Когда мы запустим этот макрос, набор данных будет автоматически отфильтрован и будет содержать только строки, значение которых в столбце «Команда» равно A:
Пример 2. Фильтрация на основе значений нескольких столбцов
Допустим, мы хотим отфильтровать набор данных, чтобы он содержал только строки, значение которых в столбце «Команда» равно A или C:
Для этого мы можем создать следующий макрос:
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value, _
Operator:=xlOr, Criteria2:=Range(" F3 ").Value
End Sub
Когда мы запускаем этот макрос, набор данных автоматически фильтруется, чтобы отображать только строки, значение которых в столбце «Команда» равно A или C.
Примечание . Полную документацию по методу VBA AutoFilter можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: как обновить сводные таблицы
VBA: как фильтровать сводные таблицы
VBA: как удалить повторяющиеся значения