Vba: як використовувати автофільтр із кількома критеріями


Ви можете використовувати такі методи, щоб використовувати автофільтр у VBA з кількома критеріями:

Спосіб 1. Використовуйте автофільтр із кількома критеріями в одному стовпці

 Sub FilterMultipleCriteria()

With Range(" A1:C11 ")
    .AutoFilter Field:=1, Criteria1:=Array(" A ", " C "), Operator:=xlFilterValues
End With

End Sub

Цей конкретний макрос фільтруватиме всі рядки в діапазоні A1:C11 , де значення першого стовпця дорівнює «A» або «C».

Спосіб 2. Використовуйте автофільтр із кількома критеріями в кількох стовпцях

 Sub FilterMultipleCriteria()

With Range(" A1:C11 ")
    .AutoFilter Field:=1, Criteria1:=" A "
    .AutoFilter Field:=2, Criteria1:=" Guard "
End With

End Sub

Цей конкретний макрос фільтруватиме діапазон A1:C11 , щоб відображати лише ті рядки, де перший стовпець дорівнює “A”, а другий стовпець дорівнює “Guard”.

У наведених нижче прикладах показано, як використовувати кожен із цих методів на практиці з таким набором даних у Excel:

Приклад 1: використання автофільтра з кількома критеріями в стовпці

Припустімо, ми хочемо відфільтрувати набір даних, щоб відобразити лише рядки, перший стовпець яких дорівнює «A» або «C».

Для цього ми можемо створити такий макрос:

 Sub FilterMultipleCriteria()

With Range(" A1:C11 ")
    .AutoFilter Field:=1, Criteria1:=Array(" A ", " C "), Operator:=xlFilterValues
End With

End Sub

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

Зауважте, що набір даних відфільтровано, щоб відображати лише рядки, перший стовпець яких дорівнює «A» або «C».

Примітка : ми включили лише два можливі значення у функцію Array() , але не соромтеся додавати скільки завгодно.

Приклад 2: використовуйте автофільтр із кількома критеріями в кількох стовпцях

Припустімо, ми хочемо відфільтрувати набір даних, щоб відображати лише рядки, де значення стовпця Team дорівнює A , а значення стовпця Position дорівнює Guard.

Для цього ми можемо створити такий макрос:

 Sub FilterMultipleCriteria()

With Range(" A1:C11 ")
    .AutoFilter Field:=1, Criteria1:=" A "
    .AutoFilter Field:=2, Criteria1:=" Guard "
End With

End Sub

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

Я помітив, що набір даних було відфільтровано, щоб відображати лише ті рядки, у яких значення в стовпці «Команда» дорівнює A , а значення в стовпці «Позиція» — «Охоронець».

Примітка . Ви можете знайти повну документацію для методу VBA AutoFilter тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:

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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *