Зміст
При роботі з великими обсягами даних і необхідності установки відразу декількох фільтрів, Розширена фільтрація в Excel Він також може бути використаний для очищення даних шляхом видалення копій. Під час використання програми Розширений фільтр "Про те, що в Україні не існує жодного закону, який би VBA код набагато простіше виконувати. У цьому уроці ми покажемо вам, як застосувати Розширений фільтр VBA за кількома критеріями в діапазоні від Excel .
Завантажити Практичний посібник
Завантажте цей практичний посібник, щоб потренуватися, поки ви читаєте цю статтю.
VBA Advanced Filter.xlsm5 Ефективні методи для розширеного фільтра VBA з декількома критеріями в діапазоні в Excel
У наступних розділах нижче ми обговоримо 5 способи використання Розширений фільтр VBA Для початку вам може знадобитися знати синтаксис Розширений фільтр VBA .
Розширений синтаксис фільтрів VBA:
- AdvancedFilter: відноситься до об'єкта діапазону. Ви можете задати діапазон, до якого ви хочете застосувати фільтр.
- Мотор: є обов'язковим аргументом, який має два варіанти, xlFilterInPlace або xlFilterCopy . xlFilterInPlace використовується для фільтрації значення в тому місці, де знаходиться набір даних. xlFilterCopy використовується для отримання значення фільтра в іншому потрібному місці.
- КритеріїДіапазон: представляє собою критерії, за якими буде фільтруватися значення.
- CopyToRange: місце, де ви збережете результати фільтрації.
- Унікальний: необов'язковий аргумент. Використовуйте Правда для фільтрації тільки унікальних значень. В іншому випадку, за замовчуванням, він розцінюється як Неправда. .
На зображенні нижче наведено приклад набору даних для застосування всіх фільтрів, які ми хочемо виконати.
1. Застосування розширеного фільтра VBA для критерію "АБО" в діапазоні в Excel
У першому методі ми застосуємо АБО критеріїв з використанням Розширений фільтр VBA Припустимо, ми хочемо відфільтрувати дані за назвою товару Печиво і Шоколад Для того, щоб застосувати АБО Для виконання завдання дотримуйтесь наведених нижче кроків.
Крок 1:
- Преса Alt + F11 для відкриття Макрос VBA .
- Натисніть на кнопку Вставте.
- Обирайте Модуль.
Крок 2:
- Потім вставте наступне VBA код для застосування АБО.
Sub Apply_VBA_Advanced_Filter_for_OR_Criteria() 'Оголосити змінні для діапазону даних та діапазону критеріїв Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Встановити розташування та діапазон діапазону даних та діапазону критеріїв Set Dataset_Rng = Sheets("Sheet1").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet1").Range("B14:E16") 'Застосувати розширений фільтр для фільтрації діапазону за критеріямиDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub
Крок 3:
- Потім збережіть програму і натисніть F5 бігти.
- Таким чином, ви отримаєте відфільтровані результати, як показано на зображенні нижче.
Нотатки. Щоб змінити процес або видалити всю фільтруючу пасту і запустити VBA програму.
Sub Remove_All_Filter() On Error Resume Next 'команда видалення всього фільтру для відображення попереднього набору даних ActiveSheet.ShowAllData End Sub
- В результаті Ви отримаєте попередню версію Вашого набору даних.
Читати далі: Приклади розширеного фільтра з критеріями в Excel VBA (6 критеріїв)
2. Виконати розширений фільтр VBA для критерію "І" в діапазоні в Excel
Аналогічно до попереднього методу, тепер виконаємо VBA Розширений фільтр для І Припустимо, ми хочемо знайти печиво з ціною $0.65 як показано на скріншоті нижче. Для нанесення АБО значення слід розміщувати в різних стовпчиках. Для того, щоб застосувати критерій І критеріїв, дотримуйтесь наведених нижче інструкцій.
Крок 1:
- Відкрити Макрос VBA натисніть Alt + F11
- Після відкриття Макрос VBA вставити наступне VBA кодів у новому Модулі.
Sub Apply_VBA_Advanced_Filter_for_AND_Criteria() 'Оголосити змінні для діапазону даних і для діапазону критеріїв Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Встановити розташування і діапазон діапазону даних і діапазону критеріїв Set Dataset_Rng = Sheets("Sheet2").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet2").Range("B14:E15") 'Застосувати розширений фільтр для фільтрації діапазону даних за критеріямиDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub
Крок 2:
- Преса F5 запустити програму після її збереження.
- Нарешті, отримайте відфільтровані результати.
Читати далі: VBA для копіювання даних на інший аркуш із розширеним фільтром в Excel
3. Використання розширеного фільтра VBA для критеріїв АБО з І в діапазоні в Excel
Ви також можете застосувати АБО та І Наприклад, ви хочете отримати значення для Печиво або Шоколадні цукерки якби не Печиво, є ще один критерій - ціна $0.65 Для цього дотримуйтесь наведених нижче процедур.
Крок 1:
- Вставте наступне VBA коди після відкриття Макрос VBA .
Sub Apply_VBA_Advanced_Filter_for_OR_with_and_Criteria() 'Оголосити змінні для діапазону даних та для діапазону критеріїв Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Встановити розташування та діапазон діапазону даних та діапазону критеріїв Set Dataset_Rng = Sheets("Sheet3").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet3").Range("B14:E16") 'Застосувати розширений фільтр для фільтрації діапазону даних за критеріямиDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub
Крок 2:
- Потім спочатку збережіть програму, натиснувши на кнопку F5 щоб керувати ним.
- Отже, ви знайдете значення з певними І і АБО.
Докладніше: Застосування розширеного фільтра за кількома критеріями в одному стовпці в Excel
Схожі читання:
- Розширений фільтр з декількома критеріями в Excel (15 прикладів)
- Динамічний розширений фільтр Excel (VBA та макрос)
- Як використовувати розширений фільтр у VBA (покрокова інструкція)
- Розширений фільтр з діапазоном критеріїв в Excel (18 додатків)
- Не працює розширений фільтр Excel (2 причини та шляхи вирішення)
4. Використання розширеного фільтра VBA для унікальних значень з декількома критеріями в Excel
Крім того, якщо у вашому наборі даних є дублікати, ви можете видалити їх під час фільтрації. Ми додамо Унікальний аргумент для Правда отримати тільки унікальні значення та видалити дублікати. Дотримуйтесь викладених інструкцій.
Крок 1:
- По-перше, відкрийте VBA Макрос по натисканню Alt + F11.
- Вставте наступне VBA кодів у новому Модулі.
Sub Apply_VBA_Advanced_Filter_for_Unique_Values() 'Оголосити змінні для діапазону даних та діапазону критеріїв Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Встановити розташування та діапазон діапазону даних та діапазону критеріїв Set Dataset_Rng = Sheets("Sheet4").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet4").Range("B14:E16") 'Застосувати розширений фільтр для фільтрації діапазону за критеріямиDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng, Unique:=True End Sub
Крок 2:
- Потім натисніть F5 для запуску програми після збереження.
- Тому ви отримаєте значення тільки для унікальних.
Докладніше: Як використовувати розширений фільтр тільки для унікальних записів в Excel
5. виконати розширений фільтр VBA для умовного відмінка
Крім попередніх способів, можна також застосовувати умови з формулами. Наприклад, ми хочемо знайти Загальні ціни які перевищують $100 Для цього достатньо виконати наступні кроки.
Крок 1:
- По-перше, відкрити Макрос VBA натисніть Alt + F11 .
- Виберіть новий Модуль і вставити наступне VBA коди .
Sub Apply_VBA_Advanced_Filter_for_Formula() 'Оголосити змінні для діапазону даних та діапазону критеріїв Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Встановити розташування та діапазон діапазону даних та діапазону критеріїв Set Dataset_Rng = Sheets("Sheet5").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet5").Range("B14:E15") 'Застосувати розширений фільтр для фільтрації діапазону даних за критеріямиDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub
Крок 2:
- По-друге, збережіть програму і натисніть кнопку F5 щоб переглянути результати.
Нотатки. Крім того, ви можете отримати результати в зручному просторі або в новому діапазоні, або на новому аркуші, застосувавши функцію xlFilterCopy Просто вставте VBA коди і запустити їх, щоб отримати результати в Лист 6 в асортименті B4:E11 .
'Оголосити змінні для діапазону даних та для діапазону критеріїв Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Встановити розташування та діапазон діапазону даних та діапазону критеріїв Set Dataset_Rng = Sheets("Sheet5").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet5").Range("B14:E15") 'Застосувати розширений фільтр для фільтрації набору даних за критеріями Dataset_Rng.AdvancedFilter Action:=xlFilterCopy,CriteriaRange:=Criteria_Rng, CopyToRange:=Sheets("Sheet6").Range("B4:E11") End Sub
- Відповідно, кінцевий результат дивіться на новому аркуші "Лист 6 .
Докладніше: Як використовувати розширений фільтр, якщо діапазон критеріїв містить текст в Excel
Висновок
Підводячи підсумок, я сподіваюся, що тепер ви розумієте, як користуватися VBA розширений фільтр в Excel фільтрувати декілька діапазонів критеріїв. Всі ці методи слід використовувати для навчання та практики з вашими даними. Перегляньте практичний посібник і застосуйте те, що ви дізналися, на практиці. Завдяки вашій життєво важливій підтримці, ми натхненні продовжувати проводити подібні семінари.
Якщо у Вас виникли запитання, будь ласка, звертайтеся до нас. Будь ласка, повідомте нам, що Ви думаєте, у розділі коментарів нижче.
На сьогоднішній день, на жаль, це не так. Ексельдемія співробітники відповідатимуть на Ваші запити в найкоротші терміни.
Залишайтеся з нами і продовжуйте вчитися.