Как связать фильтр сводной таблицы с определенной ячейкой в Excel?
Если вы хотите связать фильтр сводной таблицы с определенной ячейкой и настроить фильтрацию сводной таблицы на основе значения этой ячейки, метод, описанный в этой статье, может вам помочь.
Связывание фильтра сводной таблицы с определенной ячейкой с помощью кода VBA
Связывание фильтра сводной таблицы с определенной ячейкой с помощью кода VBA
Сводная таблица, к которой вы будете привязывать функцию фильтрации по значению ячейки, должна включать поле фильтра (название поля фильтра играет важную роль в следующем коде VBA).
Возьмем для примера следующую сводную таблицу: поле фильтра в сводной таблице называется Категория, и оно включает два значения «Расходы» и «Продажи». После связывания фильтра сводной таблицы с ячейкой, значениями ячеек, которые вы будете использовать для фильтрации сводной таблицы, должны быть «Расходы» и «Продажи».
1. Пожалуйста, выберите ячейку (здесь я выбираю ячейку H6), которую вы хотите связать с функцией фильтра сводной таблицы, и заранее введите одно из значений фильтра в эту ячейку.
2. Откройте рабочий лист, содержащий сводную таблицу, которую вы хотите связать с ячейкой. Щелкните правой кнопкой мыши по вкладке листа и выберите Вид кода в контекстном меню. См. скриншот:
3. В окне Microsoft Visual Basic for Applications скопируйте следующий код 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")) 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
Примечания:
4. Нажмите клавиши Alt + Q, чтобы закрыть окно Microsoft Visual Basic for Applications.
Теперь функция фильтрации сводной таблицы связана с ячейкой H6.
Обновите ячейку H6, затем соответствующие данные в сводной таблице будут отфильтрованы на основе существующего значения. См. скриншот:
При изменении значения ячейки, отфильтрованные данные в сводной таблице будут автоматически изменены. См. скриншот:

Раскройте магию Excel с Kutools AI
- Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
- Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
- Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
- Интерпретация формул: Легко разбирайтесь в сложных формулах.
- Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Связанные статьи:
- Как объединить несколько листов в одну сводную таблицу в Excel?
- Как создать сводную таблицу из текстового файла в Excel?
- Как отфильтровать сводную таблицу на основе определенного значения ячейки в Excel?
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!