В настоящее время я работаю над листом Excel, который имеет более 20 сводных таблиц. Все они работают нормально, но когда я хочу обновить неделю, мне нужно сделать это для всех сводных таблиц. Поэтому я хочу использовать VBA для обновления фильтров одним щелчком мыши. Неделя, которая должна быть выбрана, заполняется ячейкой, и оттуда должны быть установлены фильтры. Это код, у меня в данный момент:Изменение фильтра сводной таблицы с использованием VBA
Sub Update_Week()
Application.ScreenUpdating = False
Dim PvtTbl As PivotTable
Dim PvtFld As PivotField
Set Sheet = Worksheets("Leverancier")
Set PvtTbl = Sheet.PivotTables("Draaitabel19")
Set PvtFld = PvtTbl.PivotFields("[Mutatiedatum].[Jaar-Week-Dag].[Weekjaar]")
Sheet.Range("D4") = PvtFld.DataRange
End Sub
В PvtFld.DataRange
, текущее значение может быть восстановлено, но PvtFld.CurrentPage = Sheet.Range("D3")
, который должен установить значение от D3 («недели 33, 2016»), чтобы фильтр не работает.
Структура фильтра, который я хочу установить показано на рисунке ниже:
часть установки не отображается в коде, я в настоящее время. Может ли кто-нибудь помочь мне с вышеуказанным, чтобы решить эту проблему? Большое спасибо.
Это не работает. Он блокируется по адресу: «PvtFld.PivotFilters.Add Тип: = xlCaptionEquals, Value1: =" "& temp &" " – Yanbo
Какова ошибка. Этот код работал для меня –
Ярко-желтый цвет. «Хорошо, чтобы узнать, что и отлаживать :-) – Yanbo