Фильтр VBA Pivot на основе значения ячейки - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь создать подпункт, который бы фильтровал сводную таблицу на основе определенного значения ячейки.Сводная таблица размещается на листе «Затраты», имя таблицы также «Затраты».Целевая ячейка, на которой должен основываться фильтр, находится на листе «Панель инструментов», ячейка «D9».

Как только значение ячейки D9 изменится, изменится и фильтр затрат на лист.

Что-то не так в приведенном ниже коде, поскольку он ничего не делает, и я не знаю, где может быть проблема.Не могли бы вы мне помочь, пожалуйста?Код ниже размещен на Листе 3 (Панель инструментов).

Private Sub Worksheet_Change(ByVal Target As Range)

Dim pt As PivotTable
Set pt = Worksheets("Costs").PivotTables("Costs")

If Target.Row = 9 And Target.Column = 4 Then
    pt.PivotFilters("ProjectID").CurrentPage = Worksheets("Dashboard").Range("D9").Value
End If

End Sub

Большое спасибо за все советы!

1 Ответ

0 голосов
/ 12 февраля 2019

Я думаю, правильный синтаксис:

 pt.PivotFields("ProjectID").CurrentPage = Worksheets("Dashboard").Range("D9").Value

Также неплохо бы очистить все предыдущие фильтры

 pt.PivotFields("ProjectID").ClearAllFilters
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...