数据透视表列表中的过时项目
Posted
技术标签:
【中文标题】数据透视表列表中的过时项目【英文标题】:Obsolete items in pivot table list 【发布时间】:2011-11-03 07:18:51 【问题描述】:在我的数据透视表中,当我使用行标签过滤数据时,它会显示复选框列表,您可以在其中选择一个或多个或所有要包含的项目,此列表包括不再存在的项目.或者,如果您转到数据透视表字段列表并选择该字段并尝试在那里进行过滤,则会出现同样的情况。
也就是说,我曾经在我的 Excel 电子表格(数据透视表的源)的该列中有某个项目,而一个月前我停止使用该项目,因此它不再出现在数据源中.但是,它仍然显示在数据透视表中行标签的复选框列表中。我怎样才能删除这些?刷新数据透视表并不能解决此问题。已经有很多不同的盒子,这只会让阅读变得更加困难。
感谢您的帮助
【问题讨论】:
【参考方案1】:取自http://www.contextures.com/xlPivot04.html
在 Excel 2007 中从数据透视表中清除旧项目
-
右键单击数据透视表中的单元格
点击数据透视表选项
点击数据标签
在保留项目部分,从下拉列表中选择无
点击确定,然后刷新数据透视表
【讨论】:
Touche,我刚试过这个,它奏效了。而且,这非常容易。我必须将接受的答案更改为这个。【参考方案2】:如果这是您在数据透视表中经常遇到的问题,请考虑创建一个 VBA 例程来删除旧项目。
-
按 Alt-F11 访问 VBA 编辑器
在项目浏览器窗口中双击“ThisWorkbook”
在代码窗口上方的顶部两个下拉菜单中,选择左侧的“工作簿”和右侧的“打开”。
粘贴以下改编自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
这将在每次打开工作簿时删除所有旧项目,假设宏已启用。
【讨论】:
该链接是去的地方。 +1 Debra 的网站是我解答任何数据透视表问题的第一站。以上是关于数据透视表列表中的过时项目的主要内容,如果未能解决你的问题,请参考以下文章