Есть ли способ скрыть список PivotItems в одной команде?
Я использую Excel2010 и стандартный свод, а не источник данных OLAP.
Я ищу способ значительно ускорить выполнение кода. Я уже приостановил пересчет, обновление видео, поставил .ManualUpdate = True,...
Я ищу что-то вроде pivotfield_list.hide
(или pivotfield_list.visible = False
), а еще лучше Hide_list (pivotfield ("xx"), pivotfield_list)
.
Позвольте мне объяснить лучше. Если вы выберете только пару записей в сводном поле через пользовательский интерфейс, вы быстро получите результат. Наоборот, если эта операция выполняется при включенном макрорекордере, это транслируется с помощью n команд, таких как:
With ActiveSheet.PivotTables ("pDoc"). PivotFields ("pir_L4")
.PivotItems ("1208 Costs"). Visible = False
.PivotItems ("1221 - series"). Visible = False
.PivotItems ("1231 - ILS"). Visible = False
.... и так далее
Если вы затем повторно запустите макрос, время будет намного больше (в моей таблице есть много возможных значений, которые нужно инвертировать).
Поскольку я могу выполнять массовые операции через графический интерфейс, кажется странным, что я не могу воспроизвести их из VBA. Я безуспешно искал решение в Интернете, какие-либо предложения?
PS. Я обнаружил, что в случае смежных значений поворотного элемента также может быть выполнена следующая команда:
range.delete
Но это не мой случай (не смежные значения тоже разные). Кажется, что вы не достигаете цели, даже проходя через ползунки и их свойства.