У меня сводная таблица и следующий VBA, который отображает msgbox для поля первой строки, но мне нужно, чтобы он просматривал все поля строк, отображая окно сообщения для каждого из них, может кто-то мне точку в правильном направлении, я не могу показаться, чтобы выяснить, как сделать этоExcel VBA читать сводную таблицу и отображать msgbox
Sub Piv()
Dim PvTable As PivotTable
Dim PvField As PivotField
Dim PvItem As PivotItem
Set PvTable = ActiveSheet.PivotTables("RawDataTable")
Set PvField = PvTable.RowFields(1)
With ws
For Each PvItem In PvField.PivotItems
MsgBox PvItem
Next
End With
End Sub
Я также могу получить его, чтобы дать мне все заголовки полей, но не данные
Sub Piv()
Dim PvTable As PivotTable
Dim PvField As PivotField
Dim PvItem As PivotItem
Set PvTable = ActiveSheet.PivotTables("RawDataTable")
With ws
For Each PvField In PvTable.PivotFields
MsgBox PvField
Next
End With
End Sub
я мог бы что-то не хватает, но и в первом примере, вы не можете обернуть 'For' цикл в другом цикле 'For':' для каждого PvField в PvTable.RowFields' – bobajob
Это работает, но его цикл неправильный, он дает мне все первые данные столбцов, а затем второй столбец и т. д., но я хочу перейти через целую строку, затем перейдите к следующему – Jeffrey
Из любопытства, каково намерение этих сообщений? Что вам нужно, чтобы пользователь после каждого отображал? И вы дадите пользователю способ выйти из процедуры на полпути? – jeffreyweir