Оглавление
Excel Команда "Сортировка и фильтр имеет ограниченный диапазон до Данные фильтрации . Но использование VBA вы можете Данные фильтрации в широком диапазоне, как вы пожелаете. В этой статье вы найдете 8 полезных примеров для использования VBA код для Данные фильтрации в excel с помощью VBA коды с яркими иллюстрациями.
Скачать Практическое пособие
Вы можете скачать бесплатный шаблон Excel отсюда и потренироваться самостоятельно.
Код VBA для фильтрации данных.xlsm8 примеров использования кода VBA для фильтрации данных в Excel
Давайте сначала познакомимся с нашим набором данных, который представляет собой некоторые Пол, статус и возраст студентов .
1. использование кода VBA для фильтрации данных на основе текстового критерия в Excel
В нашем самом первом примере мы будем использовать VBA на Фильтр только Мужчина студенты из Пол столбец набора данных.
Шаги:
- Щелкните правой кнопкой мыши на заголовок листа .
- Затем выберите Просмотр кода из Контекстное меню .
Вскоре после этого VBA откроется окно.
- Тип следующий коды в нем...
Sub Filter_Data_Text() Worksheets("Text Criteria").Range("B4").AutoFilter Field:=2, Criteria1:="Male" End Sub
- В дальнейшем минимизируйте VBA
Разбивка кода
- Здесь я создал Sub процедура, Filter_Data_Text() .
- Затем использовал Диапазон свойство, чтобы объявить наши соответствующие название листа и ассортимент
- Далее я использовал метод автофильтра использовать Критерии по моему выбору, где Поле:=2 означает колонка 2 . And Критерии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 процедура, Filter_One_Column() .
- Затем использовал Диапазон свойство, чтобы объявить наши соответствующие название листа и ассортимент
- Далее я использовал метод автофильтра использовать Критерии по моему выбору, где Поле:=3 означает колонка 3 . Здесь, Критерии1:="Выпускник" и Критерии2:="Аспирант" на Фильтр студент Статус .
- Наконец, я использовал Оператор:=xlOr применять ИЛИ условие Фильтр по нескольким критериям.
- В данный момент, следить за сайт третий шаг из первый пример чтобы открыть Диалоговое окно макросов ящик .
- Позже, выберите указанный Имя макроса и нажмите кнопку Выполнить .
Вскоре после этого вы получите отфильтрованные строки на основе нескольких критериев, как показано на рисунке ниже.
Читать далее: Фильтр по нескольким критериям в Excel (4 подходящих способа)
3. применение кода VBA для фильтрации данных по нескольким критериям в разных столбцах в Excel
Теперь мы Фильтр по нескольким критериям - Мужчина и Выпускник студенты.
Шаги:
- Выполните первые два шага из первый пример чтобы открыть VBA
- Позже, написать следующий коды в нем...
Sub Filter_Different_Columns() With Worksheets("Different Columns").Range("B4") .AutoFilter Field:=2, Criteria1:="Male" .AutoFilter Field:=3, Criteria1:="Graduate" End With End Sub
- После этого свернуть окно VBA .
Разбивка кода
- Здесь я создал Sub процедура, Filter_Different_Columns() .
- Затем я использовал С заявление для использования Многократная колонка .
- Затем использовал Диапазон свойство, чтобы объявить наши соответствующие название листа и ассортимент
- Далее я использовал метод автофильтра использовать Критерии по моему выбору, где Поле:=2 означает колонка 2 и Поле:=3 означает колонка 3 .
- Здесь, выбранные Критерии1:="Мужчина" для Пол колонка и Критерии1:="Выпускник" для Статус колонка к Фильтр данные из разные колонки .
- Затем выполнить третий шаг из первый пример чтобы открыть Диалоговое окно макросов .
- Позже, выберите указанный Имя макроса и нажмите кнопку Выполнить .
Вот вывод множественных критериев.
Читать далее: Excel VBA для фильтрации в одном столбце по нескольким критериям (6 примеров)
4. Использование кода VBA для фильтрации 3 верхних элементов в Excel
В этом примере мы будем фильтровать три лучших студента в соответствии с их возраст .
Шаги:
- Выполните первые два шага из первый пример чтобы открыть окно VBA .
- Затем тип следующий коды в нем...
Sub Filter_Top3_Items() ActiveSheet.Range("B4").AutoFilter Field:=4, Criteria1:="3", Operator:=xlTop10Items End Sub
- После этого сверните окно VBA .
Разбивка кода
- Здесь я создал Sub процедура, Filter_Top3_Items() .
- А затем использовал Оператор:=xlTop10Items на Фильтр для тройка лидеров данные .
- Сейчас выполнить третий шаг из первый пример чтобы открыть Диалоговое окно макросов ящик .
- Затем выберите имя макроса как указано в кодексах и нажмите кнопку Выполнить .
После этого вы получите результат, как показано на рисунке ниже.
Читать далее: Как фильтровать на основе значения ячейки с помощью Excel VBA (4 метода)
Похожие чтения
- Как копировать и вставлять при применении фильтра в Excel
- Как фильтровать уникальные значения в Excel (8 простых способов)
- Фильтр нескольких критериев в Excel с помощью VBA (типы AND и OR)
- Как использовать текстовый фильтр в Excel (5 примеров)
- Как фильтровать по дате в Excel (4 быстрых метода)
5. использование кода VBA для фильтрации 50 лучших процентов в Excel
Давайте воспользуемся VBA коды для фильтрации первые пятьдесят процентов студентов в зависимости от их возраста .
Шаги:
- Первый, Выполните первые два шага из первый пример чтобы открыть окно VBA .
- Позже, тип следующий коды в нем...
Sub Filter_Top50_Percent() ActiveSheet.Range("B4").AutoFilter Field:=4, Criteria1:="50", Operator:=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 Field:=3, Criteria1:="*Post*" End Sub
- В дальнейшем минимизируйте окно VBA .
Разбивка кода
- Здесь я создал Sub процедура, Filter_with_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("Copy Filtered Data").AutoFilterMode = False Then MsgBox "Noo filtered data" Exit Sub End If Set xRng = Worksheets("Copy Filtered Data").AutoFilter.Range Set xWS = Worksheets.Add xRng.Copy Range("G4") End Sub
- Затем минимизируйте VBA
Разбивка кода
- Здесь я создал Sub процедура, Copy_Filtered_Data_NewSheet() .
- После этого объявляются две переменные - x Rng Как диапазон и xWS В виде рабочего листа.
- Затем использовали сайт утверждение ЕСЛИ проверять Фильтр
- Позже, использовали MsgBox чтобы показать вывод.
- Затем использовали Worksheets("Copy Filtered Data").AutoFilter.Range выберите Фильтр ассортимент и используется Добавить чтобы добавить новый лист.
- Наконец-то, Копировать Диапазон("G4") скопирует Фильтр данные в новый лист .
- Позже, выполнить третий шаг из первый пример чтобы открыть Диалоговое окно макросов .
- Затем выберите указанный Имя макроса и нажмите кнопку Выполнить .
Теперь посмотрите, что Excel открыл новый лист и скопировал отфильтрованные строки.
Читать далее: Ярлык для фильтра Excel (3 быстрых способа использования с примерами)
8. Применение кода VBA для фильтрации данных с помощью выпадающего списка
В нашем последнем примере мы сначала создадим выпадающий список для полов, а затем будем использовать его для фильтрации данных. Для этого я поместил критерий пола в другое место, и мы создадим выпадающий список в Клетка D14 .
Шаги:
- Выберите Клетка D14 .
- Затем нажмите следующим образом: Data> Data Tools> Data Validation> 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 Field:=2, Criteria1:=Range("D14") End If End If End Sub
- Затем свернуть окно VBA .
Разбивка кода
- Здесь я создал Частное подразделение процедура, Worksheet_Change(ByVal Target As Range).
- Затем я выбрал Рабочий лист с сайта Общий и Изменить с сайта Декларации .
- Затем установите Адрес чтобы узнать местоположение.
- Наконец, в пределах ЕСЛИ заявление использовало Автофильтр метод с Поле и Критерии
- Теперь только выберите критерии из выпадающего списка и Фильтр будет активирован .
Вот Фильтр выход после выбора Мужчина из выпадающий .
Читать далее: Как фильтровать по списку в другом листе в Excel (2 метода)
Практическая секция
В файле Excel, приведенном выше, вы получите лист для отработки объясненных способов.
Заключение
Я надеюсь, что описанные выше процедуры будут достаточно хороши для использования VBA код для Фильтр Не стесняйтесь задавать любые вопросы в разделе комментариев и, пожалуйста, дайте мне обратную связь.