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: як видалити повторювані значення