Я новичок в мире разработки макросов 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 класса сводной таблицы .