Как отфильтровать столбец с помощью 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:

Столбец фильтра VBA на основе значения ячейки

Пример 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 на основе нескольких критериев

Примечание . Полную документацию по методу VBA AutoFilter можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:

VBA: как обновить сводные таблицы
VBA: как фильтровать сводные таблицы
VBA: как удалить повторяющиеся значения

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *