Отфильтровать несколько сводных таблиц, основанных на нескольких источниках - PullRequest
0 голосов
/ 06 мая 2020

Я новичок в мире разработки макросов VBA для Excel. Я хочу разработать код VBA для выполнения операции фильтрации для нескольких сводных таблиц. В моем файле всего 6 сводных таблиц для данных.

Я хочу разработать код для фильтрации данных только в одной сводной таблице из 6. Найдите снимок фильтров сводной таблицы

Из 3 фильтра, я хочу изменить только фильтр «Продукт» на основе ячейки (1,9). Я пытаюсь получить доступ к сводной таблице в коде по объекту «pt», а не по имени, так как это будет неделя за неделей и с 6 сводными таблицами каждую неделю, я не уверен, смогу ли я сделать код гибким для каждой недели.

До сих пор я написал следующий код:

Sub productchng()
Dim pt As PivotTable
Dim prd As String

Set pt = ActiveSheet.Range("I8").PivotTable
prd = ActiveSheet.Cells(1, 9).Value
pt.PivotFields("Product").ClearAllFilters
pt.PivotFields("Product").CurrentPage = prd

End Sub

При выполнении этого я получаю сообщение об ошибке времени выполнения «1004»: невозможно получить свойство PivotFields класса сводной таблицы .

...