Хотя эта тема широко обсуждается, я не смог найти правильного решения этой проблемы.
Как аналитик данных, я хотел бы применить фильтры к нескольким сводным таблицам на основе значений в нескольких ячейках.диапазоны.
Я искал ответы и пытался применить эти решения:
https://www.mrexcel.com/forum/excel-questions/950078-filtering-pivot-table-based-cell-value.html
и это:
https://www.youtube.com/watch?v=xCJgCRuVU6c&t=201s
В частности, этот код:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'This line stops the worksheet updating on every change, it only updates when cell
'A1 to A9 is touched
If Intersect(Target, Worksheets(1).Range("A1:A9")) Is Nothing Then Exit Sub
'Set the Variables to be used
Dim pt As PivotTable
Dim Field As PivotField
Dim NewCat As String
'Here you amend to suit your data
Set pt = Worksheets(1).PivotTables("PivotTable1")
Set Field = pt.PivotFields("Sales Region")
NewCat = Worksheets(1).Range("A1:A9").Value
'This updates and refreshes the PIVOT table
With pt
Field.ClearAllFilters
Field.CurrentPage = NewCat
pt.RefreshTable
End With
End Sub
однако они не применяются на 100%, так как, во-первых, он вообще ничего не обновляет (без ответа), а во-вторых, он применяет фильтр только кпервый столбец, даже если он будет работать.
Пожалуйста, смотрите прикрепленную фотографию того, как я хотел бы, чтобы модель выглядела.
Выше, конечно, не совсемЗначение true, поскольку параметры фильтрации удаляют многие значения из таблиц.
Сводные таблицы имеют идентификаторы "PivotTable1" и "PivotTable2".Рабочий лист называется «Лист1».
Я хотел бы иметь возможность изменить эти значения, а также параметры фильтра (например, включить фильтр значений даты.
Пожалуйста, дайте мне знать, если что-тонеясно.
Кроме того, если есть другие варианты, не включающие VBA, они также будут приняты.