VBA выбрать все элементы в фильтре сводных отчетов больше / меньше, чем число - PullRequest
0 голосов
/ 07 мая 2019

У меня есть фильтр отчетов сводной таблицы за неделю года, и я хочу иметь возможность выбирать недели до определенного числа. Например, отфильтруйте все недели больше недели 18.

У меня есть некоторый код, который проходит через фильтр отчетов и отменяет выбор всех недель, превышающих текущую неделю. Однако это занимает несколько секунд, и я предпочел бы что-то более мгновенное (я также стараюсь избегать циклов в моей работе, где это возможно).

Я пытался использовать PivotFields.Add, но я столкнулся с набором ошибок времени выполнения. Это то, что можно сделать без цикла?

Dim PvtTbl As PivotTable
Set PvtTbl = Worksheets("Pivot").PivotTables("PivotTable2")

PvtTbl.ClearAllFilters

PvtTbl.PivotFields("Week_Of_Year").PivotFields.Add Type:=xlValueIsLessThanOrEqualTo, Value1:=18

1 Ответ

0 голосов
/ 07 мая 2019

Хотя вы можете не иметь возможности взаимодействовать с полями в выборе фильтров, вы все равно можете применять фильтры непосредственно к столбцам в сводной таблице.Читая то, что вы ищете, я думаю, что это поможет вам.

PvtTbl.PivotFields("Week_of_Year").PivotFilters.Add Type:=xlCaptionIsLessThanOrEqualTo, Value1:=18

...