Здорово. Вам удалось реализовать этот код, хорошо? Я могу добавить больше примеров и демо, вызывающее sub, если вам это нужно.
а состоит в том, чтобы автоматизировать фильтрацию данных сводной таблицы OLAP. В поле сводки есть некоторые элементы с именем sPivotFieldName, которые мне нужно исключить. Код ниже работает довольно хорошо.
With Worksheets(sWorksheetName).PivotTables(sPivotTableName)
With .CubeFields(sCubeFieldName)
.Orientation = xlRowField
.IncludeNewItemsInFilter = True
End With
.PivotFields(sPivotFieldName).HiddenItemsList = vSomeItemsToExclude
End With
Но проблема возникает, когда я пытаюсь изменить значение свойства поля ".Orientation" куба на xlPageField. Ошибка времени выполнения 1004 срабатывает каждый раз. Вот пример:
With Worksheets(sWorksheetName).PivotTables(sPivotTableName)
With .CubeFields(sCubeFieldName)
.Orientation = xlPageField
.IncludeNewItemsInFilter = True
End With
.PivotFields(sPivotFieldName).HiddenItemsList = vSomeItemsToExclude
End With
Причина, по-видимому, заключается в том, что элементы полей, помещенных в поле страницы, отображаются не так, как они есть, например, когда они помещены в поле строки (их можно увидеть как заголовки строк). Или, может быть, есть что-то еще. Чего мне не хватает?