Мне нужно иметь возможность выбрать диапазон данных под определенным полем поворота. Моя сводная таблица сделана из модели данных Power Pivot - все ссылки на сводные поля - это запутанные выражения MDX.
Я попытался записать макрос, чтобы выбрать нужный диапазон. Но он использует метод сводной выборки. Я надеялся преобразовать их в квалифицированный объект, используя сводные поля и сводные элементы, не занимая объект Selection.
Вот макрос записи.
ActiveSheet.PivotTables("source_co").PivotSelect _
"'[cfvRevenue].[period].[period]'['[cfvRevenue].[period].&[month-1]'] '[cfvRevenue].[source_label_2].[source_label_2]'[All]" _
, xlDataAndLabel + xlFirstRow, True
Это далеко я пришел с выбором pivotfield.
wsCoQuery.PivotTables("source_co").PivotFields("[cfvRevenue].[period].[period]").DataRange.Address(False, False)
Это дает мне диапазон всех меток строки (точка в строке)
Если я попробую следующее, чтобы сузить интересующий меня элемент, он даст мне только одну ячейку (также смещенную на 1 строку 1 столбца ... почему?)
Debug.Print wsCoQuery.PivotTables("source_co").PivotFields("[cfvRevenue].[period].[period]").PivotItems("[cfvRevenue].[period].&[month-1]").DataRange.Address(False, False)
Как выбрать все [source_label_2]
строк в сводной таблице в [period]field [month-1] item
?