Зміст
Excel Команда Сортування та фільтрація має обмежений діапазон до Фільтрувати дані Але використовуючи VBA ви можете Фільтрувати дані в широкому діапазоні за вашим бажанням. Ця стаття надасть вам 8 корисних прикладів для використання VBA код на Фільтрувати дані в Excel з використанням VBA коди з яскравими ілюстраціями.
Завантажити Практичний посібник
Ви можете завантажити безкоштовний шаблон Excel за посиланням і потренуватися самостійно.
Код VBA для фільтрації даних.xlsm8 прикладів використання коду VBA для фільтрації даних в Excel
Давайте спочатку ознайомимося з нашим набором даних, який представляє деякі стать, статус та вік студентів .
1. Використання коду VBA для фільтрації даних на основі текстового критерію в Excel
У нашому найпершому прикладі ми використаємо VBA до Фільтр тільки Чоловік студенти з України, Росії, Білорусі та Казахстану Стать стовпчик набору даних.
Сходинки:
- Клацніть правою кнопкою миші на назва аркуша .
- Тоді виберіть Переглянути код від Контекстне меню .
Незабаром після цього VBA відкриється вікно.
- Тип наступне коди в ньому...
Sub Filter_Data_Text() Worksheets("Текстові критерії").Range("B4").AutoFilter Field:=2, Criteria1:="Чоловік" End Sub
- В подальшому мінімізувати VBA
Розподіл кодів
- Тут я створив Sub процедуру, Filter_Data_Text() .
- Потім використовували Діапазон власності, щоб задекларувати нашу відповідну назва аркуша і діапазон
- Далі я використовував метод автофільтрації використовувати Критерії на мій вибір, де Поле:=2 засоби колонка 2 І Критерії1:="Чоловік" до Фільтр дані за Чоловік.
- Після цього до відкритий в "Урядовому кур'єрі". Діалогове вікно "Макроси , клацнути наступним чином: Розробник> Макроси.
- Виберіть в "Урядовому кур'єрі". Назва макросу як зазначено в коди .
- Нарешті, просто натиснути кнопку Виконати .
А тепер подивіться, що у нас є тільки Дані про студентів-чоловіків після Фільтрація .
Читати далі: Фільтрація даних в Excel на основі значення комірки (6 ефективних способів)
2. застосування коду VBA для фільтрації даних з декількома критеріями в одному стовпці
Ось, ми будемо Фільтр для декількох критеріїв в одному стовпчику. З третього стовпчика набору даних Фільтр для Випускник і Аспірант студенти.
Сходинки:
- Виконайте перші два кроки про перший приклад для відкриття Вікно VBA .
- До зустрічі, тип наступне коди в ньому...
Sub Filter_One_Column() Worksheets("One Column").Range("B4").AutoFilter Field:=3, Criteria1:="Graduate", Operator:=xlOr, Criteria2:="Postgraduate" End Sub
- Потім мінімізуйте VBA
Розподіл кодів
- Тут я створив Sub процедуру, Фільтр_один_стовпець() .
- Потім використовували Діапазон власності, щоб задекларувати нашу відповідну назва аркуша і діапазон
- Далі я використовував метод автофільтрації скористатися послугами Критерії на мій вибір, де Поле:=3 засоби графа 3 Ось, Критерій1:="Випускник" і Критерії2:="Аспірант" до Фільтр студентський Статус .
- Нарешті, я використовував Оператор:=xlOr подати заявку АБО умова Фільтр за багатьма критеріями.
- У цей момент, слідувати в "Урядовому кур'єрі". третій крок від перший приклад для відкриття Діалогове вікно макросів ящик .
- До зустрічі, вибрати зазначений Назва макросу і натиснути кнопку Виконати .
Незабаром після цього ви отримаєте відфільтровані рядки на основі декількох критеріїв, як на зображенні нижче.
Читати далі: Фільтрація за кількома критеріями в Excel (4 підходящих способи)
3. Застосування коду VBA для фільтрації даних з декількома критеріями в різних стовпцях в Excel
Тепер ми будемо Фільтр за кількома критеріями - Чоловік і Випускник студенти.
Сходинки:
- Виконайте перші два кроки про перший приклад для відкриття VBA
- До зустрічі, писати наступне коди в ньому...
Sub Фільтр_Різні_стовпці() With Аркуші("Різні стовпці").Діапазон("B4") .Автофільтр Поле:=2, Критерії1:="Чоловік" .Автофільтр Поле:=3, Критерії1:="Випускник" End With End Sub
- Після цього згорнути вікно VBA .
Розподіл кодів
- Тут я створив Sub процедуру, Фільтр_Різні_Стовпці() .
- Потім я скористався З інструкція із застосування Багатоколонна .
- Потім використовували Діапазон власності, щоб задекларувати нашу відповідну назва аркуша і діапазон
- Далі я використовував метод автофільтрації використовувати Критерії на мій вибір, де Поле:=2 засоби колонка 2 і Поле:=3 засоби графа 3 .
- Тут відібрані Критерії1:="Чоловік" для Стать стовпчик і Критерій1:="Випускник" для Статус стовпчик до Фільтр дані з різні колонки .
- Тоді виконати третій крок від перший приклад для відкриття Діалогове вікно "Макроси .
- До зустрічі, вибрати зазначений Назва макросу і натиснути кнопку Виконати .
Ось результати за багатьма критеріями.
Читати далі: Фільтрація в Excel VBA в одному стовпці за кількома критеріями (6 прикладів)
4. Використання коду VBA для фільтрації топ-3 елементів в Excel
У цьому прикладі ми відфільтруємо трійка кращих студентів відповідно до їхніх вік .
Сходинки:
- Виконайте перші два кроки про перший приклад для відкриття Вікно VBA .
- Тоді тип наступне коди в ньому...
Sub Filter_Top3_Items() ActiveSheet.Range("B4").AutoFilter Поле:=4, Критерії1:="3", Оператор:=xlTop10Items End Sub
- Після цього мінімізуйте Вікно VBA .
Розподіл кодів
- Тут я створив Sub процедуру, Filter_Top3_Items() .
- А потім використовували Оператор:=xlTop10Items до Фільтр для трійка лідерів дані .
- Зараз виконати третій крок від перший приклад для відкриття Діалогове вікно макросів ящик .
- Тоді вибрати назву макросу як зазначено в кодексах та натиснути кнопку Виконати .
Тоді ви отримаєте результат, як на зображенні нижче
Читати далі: Як фільтрувати на основі значення комірки за допомогою Excel VBA (4 способи)
Схожі читання
- Як скопіювати та вставити при застосуванні фільтра в Excel
- Як відфільтрувати унікальні значення в Excel (8 простих способів)
- Фільтрація декількох критеріїв в Excel за допомогою VBA (як І, так і АБО)
- Як використовувати текстовий фільтр в Excel (5 прикладів)
- Як відфільтрувати за датою в Excel (4 швидких способи)
5. Використання коду VBA для фільтрації перших 50 відсотків в Excel
Використовуємо VBA коди для фільтрації перші п'ятдесят відсотків студентів з урахуванням їх віку .
Сходинки:
- По-перше, Виконайте перші два кроки про перший приклад для відкриття Вікно VBA .
- До зустрічі, тип наступне коди в ньому...
Sub Filter_Top50_Percent() ActiveSheet.Range("B4").AutoFilter Поле:=4, Критерії1:="50", Оператор:=xlTop10Percent End Sub
- Звести до мінімуму Вікно VBA .
Розподіл кодів
- Тут я створив Sub процедуру, Filter_Top50_Percent() .
- Пізніше використовувався Оператор:=xlTop10Percent до Відфільтрувати перші п'ятдесят відсотків від стовпчик-4 .
- У цей момент, виконати третій крок від перший приклад для відкриття Діалогове вікно Макроси.
- Тоді вибрати зазначений Назва макросу і натиснути кнопку Виконати .
Всього було проведено 7 студентів так що для 50 відсотків він показує приблизно троє студентів .
Читати далі: Як використовувати формулу відсотка прибутку в Excel (3 приклади)
6. застосування коду VBA для фільтрації даних з використанням підстановки
Ми можемо використовувати Підстановочні символи-* (зірочка) в VBA коди для фільтрації даних в Excel. З меню Стовпчик статусу ми відфільтруємо тільки значення, які містять 'Post' .
Сходинки:
- Виконайте перші два кроки про перший приклад для відкриття Вікно VBA .
- Тоді писати наступне коди в ньому...
Sub Filter_with_Wildcard() ActiveSheet.Range("B4").AutoFilter Поле:=3, Criteria1:="*Посада*" End Sub
- В подальшому мінімізувати Вікно VBA .
Розподіл кодів
- Тут я створив Sub процедуру, Фільтр_з_Wildcard() .
- Потім використовується Діапазон ("B4") для встановлення діапазону.
- Далі , використаний Автофільтр до Фільтр в Поле:=3 засоби колонка 3.
- Критерії1:="*Посада*" до Фільтр значення, які містять 'Post'.
- Зараз виконати третій крок від перший приклад для відкриття Діалогове вікно Макроси.
- Виберіть зазначений Назва макросу і натиснути кнопку Виконати .
Тоді ви отримаєте бажаний результат.
Читати далі: Як додати фільтр в Excel (4 способи)
7. Вбудовування Excel VBA для копіювання відфільтрованих даних на новий аркуш в Excel
Бачимо, що в моєму наборі даних є відфільтровані дані. Тепер я скопіюю їх на новий аркуш за допомогою команди VBA . Ці коди не будуть коректно працювати в аркуші, їх потрібно буде застосувати в модулі.
Сходинки:
- Натисніть Alt+F11 для відкриття VBA
- Потім натисніть Вставка> Модуль до відкрити модуль .
- Зараз писати наступне коди -
Sub Copy_Filtered_Data_NewSheet() Dim xRng As Range Dim xWS As Worksheet If Worksheets("Копіювати відфільтровані дані").AutoFilterMode = False Then MsgBox "Відфільтрованих даних немає" Exit Sub End If Set xRng = Worksheets("Копіювати відфільтровані дані").AutoFilter.Range Set xWS = Worksheets.Add xRng.Copy Range("G4") End Sub
- Потім мінімізуйте VBA
Розподіл кодів
- Тут я створив Sub процедуру, Копіювати_відфільтровані_дані на новий аркуш() .
- Після цього оголошується двозмінна - x Rng В якості діапазону і xWS Як аркуш паперу.
- Потім використовується an Звіт про фінансові результати перевірити Відфільтрований
- Пізніше використовувався MsgBox щоб показати результат.
- Потім використовується Аркуші("Копіювати відфільтровані дані").Автофільтр.діапазон для того, щоб вибрати Відфільтрований асортимент та використані Додати щоб додати новий аркуш.
- Нарешті, Копіювати діапазон("G4") скопіює Відфільтрований даних до новий аркуш .
- До зустрічі, виконати третій крок від перший приклад для відкриття Діалогове вікно "Макроси .
- Тоді вибрати зазначений Назва макросу і натиснути кнопку Виконати .
Тепер бачимо, що Excel відкрив новий аркуш і скопіював відфільтровані рядки.
Читати далі: Ярлик для фільтра Excel (3 швидких способи використання з прикладами)
8. застосування коду VBA для фільтрації даних за допомогою випадаючого списку
У нашому останньому прикладі ми спочатку створимо випадаючий список для статі, а потім використаємо його для фільтрації даних. Для цього я розмістив гендерні критерії в іншому місці, і ми створимо випадаючий список у Комірка D14 .
Сходинки:
- Виберіть Комірка D14 .
- Тоді клацнути наступним чином: Data> Data Tools> Data Validation> Валідація даних.
Незабаром після цього діалогове вікно відкриється.
Вибрати список від Дозволити випадаючий список .
Тоді натисніть на іконку Відкрити від Вихідне вікно .
Зараз вибрати діапазон критеріїв і натиснути кнопку Enter .
- На даний момент, якраз натисніть OK .
Тепер наші випадаючий Список готовий.
- Зараз Виконайте перші два кроки про перший приклад для відкриття Вікно VBA .
- Тоді писати наступне коди в ньому...
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$14" Then If Range("D14") = "All" Then Range("B4").AutoFilter Else Range("B4").AutoFilter Поле:=2, Критерії1:=Range("D14") End If End If End Sub
- Тоді згорнути вікно VBA .
Розподіл кодів
- Тут я створив Приватний підводний човен процедуру, Worksheet_Change(ByVal Target As Range).
- Потім я вибрав Робочий аркуш від Генеральний і Зміна від Заяви .
- Потім встановіть значення Адреса щоб знати місцезнаходження.
- Нарешті, в рамках ЯКЩО використовувався оператор Автофільтр метод з Поле і Критерії
- Тепер просто вибрати критерії з випадаючого списку та Буде активовано фільтр .
А ось і Відфільтрований виводиться після вибору Чоловік від випадаючий .
Читати далі: Як відфільтрувати за списком на іншому аркуші в Excel (2 способи)
Практична секція
Ви отримаєте практичний аркуш у файлі Excel, наведеному вище, для відпрацювання пояснених способів.
Висновок
Сподіваюся, що описані вище процедури будуть достатньо ефективними для використання VBA код на Фільтр Не соромтеся задавати будь-які питання в коментарях і, будь ласка, дайте мені зворотній зв'язок.