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

 Як застосувати один і той же фільтр до декількох аркушів у Excel?

Нам може бути легко застосувати функцію фільтрації для фільтрування даних на робочому аркуші, але, іноді, вам може знадобитися фільтрувати кілька аркушів, які мають спільне форматування даних з однаковими критеріями фільтрації. Щоб відфільтрувати їх по одному, ви витратите багато часу, тут я можу запропонувати простий спосіб вирішити це відразу.

Застосувати той самий фільтр до кількох аркушів із кодом VBA


стрілка синя права міхур Застосувати той самий фільтр до кількох аркушів із кодом VBA

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

doc фільтрувати кілька аркушів 1

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

1. Утримуйте клавішу ALT + F11 клавіші, потім відкриється Microsoft Visual Basic для додатків вікна.

2. Клацання Insert > Модуліта вставте наступний код у Модулі Вікно

Код 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 відфільтровані на всіх робочих аркушах одночасно, див.

doc фільтрувати кілька аркушів 2

примітки: В межах коду вище, в цьому xWs.Range ("A1"). AutoFilter 1, "= KTE" скрипт A1 і = КТЕ вказує стовпець та критерії, за якими ви хочете фільтрувати, число 1 - це номер стовпця, який ви відфільтрували, ви можете змінити їх відповідно до своїх потреб. Наприклад, якщо ви хочете відфільтрувати порядок більше 50, вам просто потрібно змінити цей сценарій так: xWs.Range ("B1"). AutoFilter 2, "> 50".


Фільтруйте дані за кількома критеріями або іншими конкретними умовами, наприклад, за довжиною тексту, з урахуванням регістру тощо.

Kutools для ExcelАвтора Супер фільтр Функція - це потужна утиліта, ви можете застосувати цю функцію для завершення наступних операцій:

  • Фільтрувати дані з кількома критеріями; Фільтрувати дані за довжиною тексту;
  • Фільтрувати дані за великими / малими літерами; Фільтрувати дату за роком / місяцем / днем ​​/ тижнем / кварталом

doc-супер-фільтр1

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


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

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

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (36)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
як застосувати цю формулу фільтра: до діапазону аркушів? У мене є робоча книга, яка містить дані на перших 5 аркушах, а книга містить 200 аркушів, мені потрібно лише застосувати фільтр до аркуша 6-200. Sub apply_autofilter_across_worksheets() 'Оновити Extendoffice 20160623 Dim xWs As Worksheet On Error Resume Next For Every xWs In Worksheets xWs.Range("A1").AutoFilter 1, "=KTE" Next End Sub
Цей коментар був мінімізований модератором на сайті
Sub apply_autofilter_across_worksheets() Dim J As integer При помилці Відновити далі Для J = 6 до 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,
Цей коментар був мінімізований модератором на сайті
ДЯКУЮ!!!!
Цей коментар був мінімізований модератором на сайті
ВИДАЛИТЬ КОЛОНКУ A LOL
Цей коментар був мінімізований модератором на сайті
Як виконати, якщо фільтр знаходиться в різних стовпцях на кожному аркуші?
Цей коментар був мінімізований модератором на сайті
Як ви можете використовувати результат автоматичного фільтра, щоб встановити фільтр для одного аркуша замість використання =(конкретна назва)
Цей коментар був мінімізований модератором на сайті
Чи можу я використовувати це для фільтрації зведених таблиць на кількох аркушах, якщо всі зведені таблиці отримані з одного джерела даних і налаштовані за однаковими критеріями?
Цей коментар був мінімізований модератором на сайті
Чи є можливість фільтрувати за кольорами?
Цей коментар був мінімізований модератором на сайті
Привіт, Махеш,
Якщо ви хочете відфільтрувати дані за кольором, можливо, вам допоможуть дві наступні статті! Будь ласка, перегляньте їх, сподіваюся, це допоможе вам!

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.

Спасибо заранее.
Цей коментар був мінімізований модератором на сайті
Привіт, Педжаа,
Щоб відфільтрувати кілька аркушів на основі двох умов, застосуйте такий код:
Sub apply_autofilter_across_worksheets()

'Оновлення Extendoffice

Dim xWs як робочий аркуш

On Error Resume Next

Для кожного xWs в робочих аркушах

З xWs.Range("A1")

.AutoFilter Field:=1, Criteria1:="KTE" 'Стовпець A дорівнює "KTE"

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

Кінець з

Далі

End Sub

Будь ласка, спробуйте, сподіваюся, це допоможе вам!
Цей коментар був мінімізований модератором на сайті
навіть якщо я заміню A1 на G1, це ставить фільтр на стовпець A1
Цей коментар був мінімізований модератором на сайті
Привіт, Тан,
Ви просто замінюєте A1 на G1, в той же час ви повинні змінити стовпець номер 1 на стовпець номер 7, як показано нижче:
xWs.Range("G1").AutoFilter 7, "=KTE"
Будь ласка, спробуйте, дякую!
Цей коментар був мінімізований модератором на сайті
Здравствуйте,
чи можна фільтрувати на основі імені стовпця, а не числа (оскільки мої дані знаходяться в різних стовпцях на різних аркушах)?
Дякую, Мануела
Цей коментар був мінімізований модератором на сайті
Я хочу фільтрувати з тією ж умовою "KTE", але якщо вона не відображається на аркуші, дані не відображаються.
Цей коментар був мінімізований модератором на сайті
Привіт,
Я хочу фільтрувати критерії на основі значення клітинки замість "KTE" чи це можливо???
Цей коментар був мінімізований модератором на сайті
Привіт, Хемрадж! Щоб відфільтрувати дані на основі певного значення комірки замість фіксованого тексту, застосуйте наведений нижче код: Sub apply_autofilter_across_worksheets()
'Оновлення Extendoffice
Dim xWs як робочий аркуш
On Error Resume Next
Для кожного xWs в робочих аркушах
xWs.Range("A1").AutoFilter 1, Sheet1.Range("E2")
Далі
End Subпримітки: Будь ласка, змініть Sheet1 і E2 в межах цього Sheet1.Range("E2") сценарій для вашого власного аркуша та значення комірки. Будь ласка, спробуйте, сподіваюся, це допоможе вам!
Цей коментар був мінімізований модератором на сайті
Привіт, Скайян,
Дякую за вашу цінну та чудову підтримку, я намагався використовувати ті самі формули, але це не спрацювало, тому що могло бути причиною. Нижче наведено код, який я використовую для своєї таблиці Excel.
Sub apply_autofilter_across_worksheets()
'Оновлення Extendoffice
Dim xWs як робочий аркуш
On Error Resume Next
Для кожного xWs в робочих аркушах
xWs.Range("A1").AutoFilter 1, Sheet2.Range("C4")
Далі
End Sub
There are no comments posted here yet
Load More
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця