数据透视表列表中的过时项目

时间:2011-08-25 02:10:13

标签: excel pivot-table

在我的数据透视表中,当我使用行标签过滤数据时,它会显示复选框列表,您可以在其中选择要包含的一个或多个或所有项目,此列表包含不再存在的项目。或者,如果您转到数据透视表字段列表并选择该字段并尝试在那里进行过滤,则会显示相同的内容。

也就是说,我曾经在我的Excel电子表格(数据透视表的来源)中的该列中有一个特定项目,一个月前我停止使用该特定项目,因此它不再出现在数据源中。但是,它仍显示在数据透视表中行标签的复选框列表中。我怎样才能删除这些?刷新数据透视表不能解决此问题。已经有很多不同的盒子,这使得阅读起来更加困难。

感谢您的帮助

2 个答案:

答案 0 :(得分:27)

取自http://www.contextures.com/xlPivot04.html

从Excel 2007中的数据透视表中清除旧项目

  1. 右键单击数据透视表中的单元格
  2. 点击数据透视表选项
  3. 单击“数据”选项卡
  4. 在“保留项目”部分,从下拉列表中选择“无”
  5. 单击“确定”,然后刷新数据透视表

答案 1 :(得分:3)

如果这是您在数据透视表中经常遇到的问题,请考虑创建一个VBA例程来删除旧项目。

  1. Alt - F11 以访问VBA编辑器
  2. 在项目浏览器窗口中双击“ThisWorkbook”
  3. 在代码窗口上方的前两个下拉列表中,选择左侧的“工作簿”,右侧的“打开”。
  4. 粘贴以下代码,改编自Excel Pivot Table Tutorial -- Clear Old Items

    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     
    
  5. 这将在每次打开工作簿时删除所有旧项目,假设已启用宏。