ピボットテーブルのフィールド内(ドロップダウン)に残った無効なアイテムを削除する方法
※まだ書きかけです。すみません。
※間違ってたらすみません。
※メモ書きなので、自分でも意味不明な箇所も多いです。ごめんなさい。
雨のち晴れ
http://pvttbl.blog23.fc2.com/blog-entry-22.html
ピボットテーブルのフィールド内(ドロップダウン)に残った無効なアイテムを削除する
一般機能での質問が多い現象ですが、「ピボットテーブルの元データからデータを削除したにもかかわらず、フィールド内のアイテムに削除したアイテム名が残ってしまう」ということがあります。(ドロップダウンリストの中に残骸が残る)
一から(マクロで)作り変えれば、問題は解消するわけですが、作り置きしたピボットテーブルのまま問題を解決させるためには、MSのサポート情報にある「[XL97] [ピボットテーブル フィールド] ダイアログ ボックスに無効なフィールド名が表示される」内のコードを実行するように回答するのが一般的です。
でも、中には、いくつものピボットテーブルを作って利用している人もいるわけで、マクロをあまり使ったことがない人が、一々シート名や(正確に把握していない)ピボットテーブル名を変更しながら処理していくのも大変ですよね。
ということで、以下のマクロを作ってみました。
サポート情報のマクロが面倒だなと感じたら使ってみてください。
(使うときには解決しているかもしれませんが……)
◇ ◇ ◇ ◇ ◇
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
' ' Sub PvtFldItemReset() 'アクティブブック内の各ピボットテーブルの 'フィールド内に残った不要なアイテムを削除する 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 ' ' |
1 2 3 4 5 6 |
' ' ' ' |