У меня есть сводная таблица Excel OLAP, в которой есть фильтр выше. Фильтр является иерархическим в том смысле, что вы можете перейти вниз и вниз на несколько уровней, чтобы увидеть то, что вы хотите увидеть.
Я пытаюсь использовать VBA для фильтрации до определенного уровня, а затем перебрать все дочерние элементы этого уровня для выполнения дополнительных действий. Моя проблема - выяснить, как добраться до этого списка дочерних элементов. Я могу фильтровать до уровня, который мне нужен, но здесь все становится липким.
ActiveSheet.PivotTables("PivotTable1").PivotFields( _
"[Accounts].[Business Bankers].[Cost Centre Code5]").VisibleItemsList = Array( _
"[Accounts].[Business Bankers].[Cost Centre Code5].&[" & AreaArr(i, 2) & "]")
For Each pi2 In ActiveSheet.PivotTables("PivotTable1").PivotFields( _
"[Accounts].[Business Bankers].[Cost Centre Code6]").PivotItems
MsgBox pi2.Caption
MsgBox pi2.Value
MsgBox Right(pi2.Caption, Len(pi2.Caption) - 11)
Worksheets("Town").Copy ActiveSheet.Name = Right(pi2.Caption, Len(pi2.Caption) - 11)
Next
Это для каждого цикла не работает. Я пытаюсь выяснить, как перебрать все дочерние элементы, которые существуют для МВЗ Code5.
Спасибо!