VBAでピボットテーブルの表示されているフィールドリストを取得する方法
ピボットテーブルの内容をレポートシートに転写するプログラムを書いています。
フィールドの取得で詰まっているので、アドバイスをお願いします。
対象のピボットテーブルは「国→エリア」の様な階層構造になっており、"日本(国)"でフィルターをかけて、"東京"や"大阪"のみ表示されている様な状態でVBAを実行します。
For Eachでエリアの一覧を取得したいのですが、Excel上では非表示になっている"カリフォルニア"や"ロンドン"まで出てきてしまいます。
Sub Sample()
Dim area As PivotItem
For Each area In SheetWorklistData.PivotTables("pvt作業データ").PivotFields("エリア").PivotItems
Debug.Print area
Debug.Print area.Visible ' すべてTrue
Next
End Sub
PivotFieldsをVisibleFieldsに変えたり、Visibleプロパティで表示されているか判断しようとしたのですが、他の階層でフィルターをかけている場合には効果がありませんでした。