スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書く事で広告が消せます。

フィールド内に残った無効なアイテムを削除する

一般機能での質問が多い現象ですが、「ピボットテーブルの元データからデータを削除したにもかかわらず、フィールド内のアイテムに削除したアイテム名が残ってしまう」ということがあります。

一から(マクロで)作り変えれば、問題は解消するわけですが、作り置きしたピボットテーブルのまま問題を解決させるためには、MSのサポート情報にある「[XL97] [ピボットテーブル フィールド] ダイアログ ボックスに無効なフィールド名が表示される」内のコードを実行するように回答するのが一般的です。

でも、中には、いくつものピボットテーブルを作って利用している人もいるわけで、マクロをあまり使ったことがない人が、一々シート名や(正確に把握していない)ピボットテーブル名を変更しながら処理していくのも大変ですよね。

ということで、以下のマクロを作ってみました。
サポート情報のマクロが面倒だなと感じたら使ってみてください。
(使うときには解決しているかもしれませんが……)

 ◇ ◇ ◇ ◇ ◇

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

comment

Secre

やっとできそうです

ピボットテーブルで存在しないアイテムを消す方法がわからずに困っていました。
このマクロで解決できそうです。
ありがとうございます。

Excel素人さん、こんにちは。

解決できそうでよかったですね。(^_^)
もし解決できなかったらグループ化しているフィールドがないか確認してみてください。
某掲示板での質問で上記マクロで削除できず、グループ化を解除したら削除できたとの報告がありました。

MSのサポートより記事より、ずっと使いやすいマクロです。
ありがたく使用させて頂きました。感謝です。

今後ともよろしくお願いいたします。

yakibuta39さん、こんにちは。

稚拙なコードですが、お役に立ててうれしいです。
わざわざコメントありがとうございました。<(_ _)>

No title

とても助かりました
ありがとうございます
カテゴリ
テーマ
プロフィール

Author:OtenkiAme(Tasan)
正早安楽を目指しながらも、言うことを聞かないExcelに使われている人です。

ブログ内検索
FC2カウンター
最近のコメント
最近のトラックバック
RSSフィード