Я всегда задавался вопросом, что ChildItems
были, и когда я увидел свой вопрос он пришел ко мне ...
Sub GetGroupedItems()
Dim pt As Excel.PivotTable
Dim ptField As Excel.PivotField
Dim ptItem As Excel.PivotItem
Dim ptChildItem As Excel.PivotItem
Set pt = ActiveSheet.PivotTables(1)
For Each ptField In pt.PivotFields
For Each ptItem In ptField.PivotItems
If ptItem.ChildItems.Count > 0 Then
Debug.Print ptItem.Name
For Each ptChildItem In ptItem.ChildItems
Debug.Print ptChildItem.Name
Next ptChildItem
End If
Next ptItem
Next ptField
End Sub
Это будет печатать имена любого сгруппированных элемента и его дочерние элементы, в ближайшее окно.
Спасибо за ваш ответ! я не знаю, почему, но 'ptItem.ChildItems.Count' всегда возвращает 0 .... Вместо если я проверю' ptItem.RecordCount' я получаю правильное количество дочерних элементов Любое предложение? Спасибо – GabryRome
Держу пари, это потому, что в моем тесте были видны детские предметы. Они по вашему делу, или вы сняли флажок в негрупповом поле? –
Я вернулся на компьютер, и моя догадка в предыдущем комментарии неверна. Этот код работает для меня, видно ли оригинальное негрупповое поле или нет. Чтобы получить лучший ответ, вы должны уточнить свой вопрос немного, чтобы кто-то мог дублировать то, что вы делаете. –