Note: The other languages of the website are Google-translated. Back to English

 Как применить один и тот же фильтр к нескольким листам в Excel?

Нам может быть легко применить функцию «Фильтр» для фильтрации данных на листе, но иногда может потребоваться фильтрация на нескольких листах, которые имеют общее форматирование данных с одинаковыми критериями фильтрации. Чтобы отфильтровать их по одному, вы потратите много времени, здесь я могу предложить простой способ решить эту проблему сразу.

Применить тот же фильтр к нескольким листам с кодом VBA


стрелка синий правый пузырь Применить тот же фильтр к нескольким листам с кодом VBA

Например, у меня есть четыре рабочих листа, так как следующий снимок экрана нужно отфильтровать сразу по тем же критериям, что и Product = KTE.

документ фильтровать несколько листов 1

Нет прямого способа отфильтровать данные на нескольких листах в Excel, но следующий код VBA может помочь вам завершить эту работу, пожалуйста, сделайте следующее:

1. Удерживайте ALT + F11 ключи, затем он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: примените один и тот же фильтр к нескольким рабочим листам:

Sub apply_autofilter_across_worksheets()
'Updateby Extendoffice
    Dim xWs As Worksheet
    On Error Resume Next
    For Each xWs In Worksheets
        xWs.Range("A1").AutoFilter 1, "=KTE"
    Next
End Sub

3, Затем нажмите F5 ключ для запуска этого кода, все продукты KTE были отфильтрованы сразу на всех листах, см. снимок экрана:

документ фильтровать несколько листов 2

Внимание: В приведенном выше коде в этом xWs.Range ("A1"). Автофильтр 1, "= KTE" сценарий, A1 и = KTE указывает столбец и критерии, по которым вы хотите выполнить фильтрацию, число 1 - это номер столбца, на основе которого вы отфильтровали, вы можете изменить их по своему усмотрению. Например, если вы хотите отфильтровать порядок больше 50, вам просто нужно изменить этот сценарий следующим образом: xWs.Range ("B1"). Автофильтр 2, "> 50".


Фильтровать данные по нескольким критериям или другим конкретным условиям, например по длине текста, с учетом регистра и т. Д.

Kutools for ExcelАвтора Суперфильтр feature - это мощная утилита, вы можете применить эту функцию для выполнения следующих операций:

  • Фильтровать данные по нескольким критериям; Фильтровать данные по длине текста;
  • Фильтровать данные по верхнему / нижнему регистру; Дата фильтрации по году / месяцу / дню / неделе / ​​кварталу

документ-супер-фильтр1

Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно попробовать бесплатно без ограничений в течение 30 дней. Загрузите и бесплатную пробную версию прямо сейчас!


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (41)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
как применить эту формулу фильтра: к диапазону листов? у меня есть книга с данными на первых 5 листах, а в книге 200 листов, мне нужно применить фильтр только к листу 6-200. Sub apply_autofilter_across_worksheets() 'Обновить Extendoffice 20160623 Dim xWs As Worksheet On Error Resume Next For Each xWs In Worksheets xWs.Range("A1").AutoFilter 1, "=KTE" Next End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Sub apply_autofilter_across_worksheets() Dim J As integer On Error Resume Next For J = 6 to Worksheets(worksheets.count) Thisworkbook.Sheets(J).Range("A1").Autofilter 1, "=KTE" Next End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Уважаемый, я хочу отфильтровать более одного значения, я использовал этот xWs.Range("B1").AutoFilter 2, "=223AM", xlOr, "=113IR", xlOr, "=003IR", и это сработало, но когда я увеличить требуемые значения до >2 возникает ошибка. в этой команде я использую xWs.Range("B1").AutoFilter 2, "=223AM", xlOr, "=113IR", xlOr, "=003IR", xlOr, "=019IR", xlOr, "=311IR", xlOr , "=518ZA", xlOr, "=223AM", xlOr, "=592IR" спасибо,
Этот комментарий был сведен к минимуму модератором на сайте
при фильтрации одного слова на нескольких листах он не показывает отфильтрованные данные .... все данные скрыты. Пожалуйста, разрешите это.
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте,


Мои данные находятся в столбце E, и когда я применяю этот фильтр с диапазоном ("E1"), он по-прежнему фильтрует столбец A.


Как я могу устранить неполадки?
Спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Вам просто нужно написать номер столбца в AutoFilter, в данном случае: xWs.Range("E1").AutoFilter 5,
Этот комментарий был сведен к минимуму модератором на сайте
СПАСИБО!!!!
Этот комментарий был сведен к минимуму модератором на сайте
УДАЛИТЬ КОЛОНКУ ЛОЛ
Этот комментарий был сведен к минимуму модератором на сайте
Как выполнить, если фильтр находится в другом столбце на каждом листе?
Этот комментарий был сведен к минимуму модератором на сайте
Как вы можете использовать результат автофильтра, чтобы установить фильтр для каждого другого листа вместо использования = (конкретное имя)
Этот комментарий был сведен к минимуму модератором на сайте
Могу ли я использовать это для фильтрации сводных таблиц на нескольких листах, если все сводные таблицы взяты из одного источника данных и настроены с использованием одинаковых критериев?
Этот комментарий был сведен к минимуму модератором на сайте
Есть ли возможность фильтровать по цветам?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Махеш,
Если вы хотите отфильтровать данные по цвету, вам могут помочь следующие две статьи! Пожалуйста, просмотрите их, надеюсь, это поможет вам!

https://www.extendoffice.com/documents/excel/912-excel-filter-by-cell-color.html
https://www.extendoffice.com/documents/excel/3383-excel-filter-by-multiple-colors.html
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте,


Как это работает, если столбец Product представлен в разных местах на других листах?


На листе 1 это A1, на листе 2 это B1, а на листе 3 снова A1?

Благодаря,
Monika
Этот комментарий был сведен к минимуму модератором на сайте
Есть ли способ изменить часть «= KTE» для каждого листа с фильтром содержимого, основанным на имени листа?
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо за код!! есть ли способ изменить «= KTE», чтобы использовать значение из списка или раскрывающегося списка?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, суперфильтр автоматически применяется ко всей книге всякий раз, когда обновляется файл?
Этот комментарий был сведен к минимуму модератором на сайте
Можем ли мы использовать имя ячейки, например Product, вместо A1 в: xWs.Range("A1").AutoFilter 1, "=KTE"
У меня есть другой столбец, и некоторые имена входят в другой столбец.
Этот комментарий был сведен к минимуму модератором на сайте
Я использовал фильтр на каждом листе. И я хочу изменить s.no с 1 2 3 последовательно на каждом листе после фильтра.


Пожалуйста, дайте мне знать, если у вас есть код vba для этого
Этот комментарий был сведен к минимуму модератором на сайте
Как использовать функцию «Фильтровать между» для одних и тех же нескольких листов?

(Пример: диапазон времени)
Этот комментарий был сведен к минимуму модератором на сайте
как удалить отфильтрованные строки?
Этот комментарий был сведен к минимуму модератором на сайте
Уважаемые,

Как фильтровать с несколькими условиями?
Например, я хочу отфильтровать в порядке выше 50, но только продукты KTE.

Спасибо заранее.
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Педжаа,
Чтобы отфильтровать несколько листов по двум условиям, примените следующий код:
Подпрограмма apply_autofilter_across_worksheets()

'Обновить Extendoffice

Dim xWs как рабочий лист

On Error Resume Next

Для каждого xWs в рабочих листах

С xWs.Range("A1")

Поле .AutoFilter:=1, Criteria1:="KTE" 'Столбец A равен "KTE"

Поле .AutoFilter:=2, Criteria1:=">500" 'Столбец B больше 500

Конец с

Далее

End Sub

Пожалуйста, попробуйте, надеюсь, это поможет вам!
Этот комментарий был сведен к минимуму модератором на сайте
даже если я заменю A1 на G1, он поместит фильтр в столбец A1
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Тан,
Вы просто заменяете A1 на G1, в то же время вы должны изменить номер столбца 1 на столбец номер 7, как показано ниже:
xWs.Range("G1").AutoFilter 7, "=KTE"
Пожалуйста, попробуйте, спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте,
можно ли фильтровать по имени столбца, а не по номеру (поскольку мои данные находятся в разных столбцах на разных листах)?
Спасибо, Мануэла.
Этот комментарий был сведен к минимуму модератором на сайте
Я хочу фильтровать с тем же условием «KTE», но если он не отображается на листе, чтобы не показывать никаких данных.
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуй ,
Я хочу, чтобы критерии фильтрации основывались на значении ячейки вместо «KTE», возможно ли это ???
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте, Hemraj! Чтобы отфильтровать данные на основе определенного значения ячейки вместо фиксированного текста, примените следующий код: Подпрограмма apply_autofilter_across_worksheets()
'Обновить Extendoffice
Dim xWs как рабочий лист
On Error Resume Next
Для каждого xWs в рабочих листах
xWs.Range("A1").AutoFilter 1, Sheet1.Range("E2")
Далее
End SubВнимание: Пожалуйста, измените Sheet1 и E2 внутри этого Лист1.Диапазон("E2") script на свой лист и значение ячейки. Пожалуйста, попробуйте, надеюсь, это поможет вам!
Этот комментарий был сведен к минимуму модератором на сайте
Привет Скайанг,
Спасибо за вашу ценную и невероятную поддержку, я пытался использовать те же формулы, но это не сработало по возможной причине. Ниже приведен код, который я использую для своего листа Excel.
Подпрограмма apply_autofilter_across_worksheets()
'Обновить Extendoffice
Dim xWs как рабочий лист
On Error Resume Next
Для каждого xWs в рабочих листах
xWs.Range("A1").AutoFilter 1, Sheet2.Range("C4")
Далее
End Sub
Здесь еще нет комментариев
Загрузить ещё
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL