2012/01/05

ピボットテーブルからソースに存在しないフィールドを削除する【VBA】

Excelのピボットテーブルは、ピボットのデータソースを変更した際、
データソースから消えてしまったフィールドが、
そのまま残ってしまいます。
マクロで消してしまいましょう。

コードは雨のち晴れさんからの転載です。
フィールド内に残った無効なアイテムを削除する
(※ 関数名はわたし好みに変えました)

'----------------------------------------------------------------
' ピボットテーブルからソースに存在しないフィールドを削除する
'----------------------------------------------------------------
Sub ResetPvtFldItem()
'アクティブブック内の各ピボットテーブルの
'フィールド内に残った不要なアイテムを削除する

Dim mySht As Worksheet
Dim pvtTbl As PivotTable
Dim PvtFld As PivotField
Dim pvtItem As PivotItem

On Error Resume Next
For Each mySht In ActiveWorkbook.Worksheets
For Each pvtTbl In mySht.PivotTables
For Each PvtFld In pvtTbl.PivotFields
For Each pvtItem In PvtFld.PivotItems
pvtItem.Delete
Next pvtItem
Next PvtFld
Next pvtTbl
Next mySht
On Error GoTo 0
ActiveWorkbook.RefreshAll

End Sub

0 コメント:

 

About Me