web-dev-qa-db-ja.com

ピボットテーブルリストの古いアイテム

私のピボットテーブルで、[行ラベル]を使用してデータをフィルター処理すると、1つまたは複数またはすべてのアイテムを選択できるチェックボックスリストが表示され、このリストには存在しないアイテムが含まれます。または、ピボットテーブルのフィールドリストに移動してフィールドを選択し、そこでフィルタリングしようとすると、同じことが表示されます。

つまり、Excelスプレッドシート(​​ピボットテーブルのソース)のその列に特定のアイテムがあり、1か月前にその特定のアイテムの使用を中止したため、データソースにまったく表示されなくなりました。ただし、ピボットテーブルの行ラベルのチェックボックスリストには引き続き表示されます。これらを削除するにはどうすればよいですか?ピボットテーブルを更新しても、これは修正されません。すでに多くの異なるボックスがあり、これは単に読みにくくします。

助けてくれてありがとう

17
Graphth

http://www.contextures.com/xlPivot04.html から取得

Excel 2007のピボットテーブルから古いアイテムをクリアする

  1. ピボットテーブルのセルを右クリック
  2. ピボットテーブルオプションをクリックします
  3. [データ]タブをクリックします
  4. [アイテムの保持]セクションで、ドロップダウンリストから[なし]を選択します
  5. [OK]をクリックして、ピボットテーブルを更新します
30
AlejandroR

これがピボットテーブルで頻繁に発生するものである場合は、古いアイテムを削除するVBAルーチンを作成することを検討してください。

  1. 押す Alt-F11 VBAエディターにアクセスするには
  2. プロジェクトエクスプローラウィンドウで[ThisWorkbook]をダブルクリックします。
  3. コードウィンドウの上の2つのドロップダウンで、左側の[ワークブック]と右側の[開く]を選択します。
  4. 以下からコードを貼り付けます Excelピボットテーブルチュートリアル-古いアイテムのクリア

    Private Sub Workbook_Open()
    
        'prevents unused items in non-OLAP PivotTables
        'pivot table tutorial by contextures.com
        Dim pt As PivotTable
        Dim ws As Worksheet
        Dim pc As PivotCache
    
        'change the settings
        For Each ws In ActiveWorkbook.Worksheets
          For Each pt In ws.PivotTables
            pt.PivotCache.MissingItemsLimit = xlMissingItemsNone
          Next pt
        Next ws
    
        'refresh all the pivot caches
        For Each pc In ActiveWorkbook.PivotCaches
          On Error Resume Next
          pc.Refresh
        Next pc
    
    End Sub     
    

これにより、マクロが有効になっていると想定して、ブックを開くたびに古いアイテムが削除されます。

4
Banjoe