Итерация по дочерним элементам в фильтре Excel OLAP с VBA - PullRequest
0 голосов
/ 03 мая 2018

У меня есть сводная таблица 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.

Спасибо!

...