Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

Как фильтровать сводную таблицу на основе определенного значения ячейки в Excel?

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

Фиксированная сводная таблица на основе определенного значения ячейки с кодом VBA


Легко выбирать целые строки на основе значения ячейки в столбце certian:

Выберите конкретные ячейки полезности Kutools for Excel может помочь вам быстро выбрать целые строки на основе значения ячейки в столбце certian в Excel, как показано ниже. После выбора всех строк на основе значения ячейки вы можете вручную переместить или скопировать их в новое место по мере необходимости в Excel.

Kutools for Excel: с более чем 200 удобными надстройками Excel, бесплатно попробовать без ограничений в 60-дни. Скачайте бесплатную пробную версию прямо сейчас!

Вкладка «Office» Включите редактирование и просмотр с вкладками в Office и упростите свою работу ...
Kutools для Excel переносит расширенные функции 300 в Excel и мгновенно повышает производительность
  • Super Formula Bar (легко редактировать несколько строк текста и формул); Чтение макета (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон ...
  • Объединить ячейки / строки / столбцы и хранение данных; Содержание сплит-клеток; Объединить дублирующиеся строки и сумму / среднее ... Предотвратить повторяющиеся клетки; Сравнить диапазоны ...
  • Выберите Дублировать или Уникальные строки; Выберите пустые строки (все ячейки пусты); Супер найти и нечеткая находка во многих книгах; Случайный выбор ...
  • Точное копирование нескольких ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставьте маркеры, флажки и многое другое ...
  • Любить и быстро вставлять формулы, диапазоны, графики и рисунки; Шифровать ячейки с помощью пароля; Создать список рассылки и отправлять электронные письма ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов подкачки; Преобразование содержимого ячеек и комментариев ...
  • Суперфильтр (сохранение и применение схем фильтрации к другим листам); Расширенный Сортировать по месяцу / неделе / ​​дню, частоте и многому другому; Специальный фильтр жирным шрифтом, курсив ...
  • Объединить рабочие тетради и рабочие листы; Объединение таблиц на основе ключевых столбцов; Разбить данные на несколько листов; Пакетное конвертирование xls, xlsx и PDF ...
  • Работает с Office 2007-2019 и 365 и поддерживает все языки. Это легко развернуть в вашей компании. Полнофункциональная 60-дневная бесплатная пробная версия.

Фиксированная сводная таблица на основе определенного значения ячейки с кодом VBA

Следующий код VBA может помочь вам фильтровать сводную таблицу на основе определенного значения ячейки в Excel. Пожалуйста, сделайте следующее.

1. Введите значение, которое вы будете фильтровать в сводной таблице в ячейке заранее (здесь я выбираю ячейку H6).

2. Откройте рабочий лист, содержащий сводную таблицу, которую вы будете фильтровать по значению ячейки. Затем щелкните правой кнопкой мыши вкладку листа и выберите «Просмотр кода» в контекстном меню. Смотрите скриншот:

3. В открытии Microsoft Visual Basic для приложений окна, скопируйте ниже код VBA в окно кода.

Код VBA: сводная таблица фильтров на основе значения ячейки

Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
    Dim xPTable As PivotTable
    Dim xPFile As PivotField
    Dim xStr As String
    On Error Resume Next
    If Intersect(Target, Range("H6:H7")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xPTable = Worksheets("Sheet1").PivotTables("PivotTable2")
    Set xPFile = xPTable.PivotFields("Category")
    xStr = Target.Text
    xPFile.ClearAllFilters
    xPFile.CurrentPage = xStr
    Application.ScreenUpdating = True
End Sub

Примечания: В коде,

1) "Sheet1"- это название рабочего листа.

2) "PivotTable2"- это название сводной таблицы.

3) Поле фильтрации в сводной таблице называется "Категория".

4) Значение, которое вы хотите фильтровать сводную таблицу, помещается в ячейку H6.

Вы можете изменить приведенные выше значения переменных по мере необходимости .v

4. нажмите другой + Q для закрытия Microsoft Visual Basic для приложений окна.

Затем сводная таблица фильтрует на основе значения в ячейке H6, как показано ниже:

Вы можете изменить значение ячейки для других, как вам нужно.

Внимание: Значения, которые вы вводите в ячейке H6, должны точно соответствовать значениям в раскрывающемся списке Category сводной таблицы.


Office Tab - Просмотр, редактирование и управление книгами в Excel с вкладками:

Вкладка «Office» предоставляет интерфейс с вкладками, как показано в веб-браузерах, таких как Google Chrome, новые версии Internet Explorer и Firefox в Microsoft Excel. Это будет инструмент экономии времени и незаменим в вашей работе. См. Ниже демо:

Нажмите для бесплатной пробной версии Office Tab!

Вкладка Office для Excel


Статьи по теме:


  • Супер Формула Бар (легко редактировать несколько строк текста и формул); Макет чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы и хранение данных; Содержание сплит-клеток; Объедините дублирующиеся строки и сумму / среднее... предотвратить повторяющиеся клетки; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выберите пустые строки (все ячейки пусты); Супер найти и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения формулы ссылки; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Любимые и быстро вставляемые формулы, Диапазоны, графики и рисунки; Шифрование ячеек с паролем; Создать список рассылки и отправлять электронные письма ...
  • Извлечение текстаДобавить текст, Удалить по позиции, Удалить пространство; Создание и печать промежуточных итогов подкачки; Преобразование содержимого ячеек и комментариев...
  • Суперфильтр (сохранить и применить схемы фильтров к другим листам); Расширенный поиск по месяцам / неделям / дням, частоте и более; Специальный фильтр жирным шрифтом, курсивом ...
  • Объединить рабочие тетради и рабочие листы; Объединение таблиц на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Работает с Office 2007-2019 и 365 и поддерживает все языки. Это легко развернуть в вашей компании. Полнофункциональная 60-дневная бесплатная пробная версия.
вкладка kte 201905
  • Включить редактирование и чтение с вкладками в Word, Excel, PowerPoint, Издатель, Доступ, Visio и Проект.
  • Открывайте и создавайте несколько документов в новых вкладках одного и того же окна, а не в новых окнах.
  • Увеличивает вашу производительность на 50% и уменьшает сотни щелчков мышью для вас каждый день!
нижняя часть офиса
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Justin · 11 months ago
    How would you do this with a report filter that has a hierarchy?

  • To post as a guest, your comment is unpublished.
    Daniel · 1 years ago
    Using this code (updated for my variables of course), when changing the field, the filter changes momentarily to the correct one, and then clears itself almost immediately. Trying to figure out why it's doing this (wondering if it has something to do with the ClearAllFilters at the end of the sub?)