Отказ от ответственности: Этот вопрос был отправлен в msdn forum, но так как я не получил никакого ответа (на удивление), я также перекрестно размещаю его здесь. Возможно, вам захочется проверить эту ссылку, прежде чем пытаться попробовать этот вопрос. Я бы не хотел, чтобы вы тратили свое время, если решение было отправлено по этой ссылке :)Power Pivot Table - Looping through Fields in Report Filters
Задача: Я хочу узнать имена полей в Фильтре отчетов. Поэтому я ищу RegionCountryName
, Cityname
и ProductKey
. Фильтры отчетов являются динамическими и могут меняться.
Скриншот:
Что я пытался: Я проверил все свойства мощности Pivot, но нет никакой собственности, что я мог бы найти, который позволил бы мне петлю через поле от силового стержня.
Я даже попробовал этот код, но он, видимо, дают мне ошибку на Set pf = pt.PageFields(1)
Sub Sample()
Dim pt As PivotTable, pi As PivotItem, pf As PivotField
Dim lLoop As Long
Set pt = Sheet1.PivotTables(1)
Set pf = pt.PageFields(1)
For Each pi In pf.PivotItems
Debug.Print pi.Name
Next pi
End Sub
ScreenShot Ошибка
Так что мне не хватает? Или есть другой подход, который я должен предпринять?
EDIT
Если кто-то хочет, чтобы экспериментировать с ним, файл можно загрузить с HERE Я смотрю на Inventory
листе.
Просто быстро трещины на это, но почему это 'PivotField.PivotFilters' свойство не работает здесь? –
Спасибо за то, что вы сделали это. 'pf.PivotFilters.Count' дать мне 0 :) –