2013-05-18 4 views
0

как я могу получить список сгруппированных элементов в сводной таблице с помощью VBA?VBA: перечисляет элементы группы отчета сводной таблицы

Например, из http://office.microsoft.com/en-us/excel-help/group-items-in-a-pivottable-report-HP010175903.aspx#BMgroup_selected_items

как я могу получить

Buchanan

  • 7/16/2009
  • 7/23/2009
  • 8/9/2009
  • И т.д. ..

Благодаря

ответ

0

Я всегда задавался вопросом, что 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 

Это будет печатать имена любого сгруппированных элемента и его дочерние элементы, в ближайшее окно.

+1

Спасибо за ваш ответ! я не знаю, почему, но 'ptItem.ChildItems.Count' всегда возвращает 0 .... Вместо если я проверю' ptItem.RecordCount' я получаю правильное количество дочерних элементов Любое предложение? Спасибо – GabryRome

+0

Держу пари, это потому, что в моем тесте были видны детские предметы. Они по вашему делу, или вы сняли флажок в негрупповом поле? –

+0

Я вернулся на компьютер, и моя догадка в предыдущем комментарии неверна. Этот код работает для меня, видно ли оригинальное негрупповое поле или нет. Чтобы получить лучший ответ, вы должны уточнить свой вопрос немного, чтобы кто-то мог дублировать то, что вы делаете. –

Смежные вопросы