作者:绿色风
分类:
时间:2022-08-18
浏览:136
楼主 wise |
Q:如何用VBA清理数据透视表下拉列表中的“垃圾条目”? A:ALT+F11→插入模块→在模块中输入如下代码:- Sub ClearMiss()
- Dim pvt As PivotTable, pvtcache As PivotCache
- Dim sh As Worksheet
- '遍历全部工作表
- For Each sh In ActiveWorkbook.Worksheets
- '遍历全部数据透视表
- For Each pvt In sh.PivotTables
- '不保留透视表唯一项
- pvt.PivotCache.MissingItemsLimit = xlMissingItemsNone
- Next
- Next
- On Error Resume Next
- '更新当前工作簿所有透视表缓存
- For Each pvtcache In ActiveWorkbook.PivotCaches
- pvtcache.Refresh
- Next
- End Sub
|
2楼 水星钓鱼 |
Q:删除了数据源中的某些项目后,通过设置“数据透视表选项“对话框中的“数据”选项卡中的“保留从数据源删除的项目”下的”每个字段保留的项目”设置为无,可以使字段中对应数据源中的项目也被删除。如下图所示:
但是假如一个工作簿有很多个数据透视表,则无法批量操作,需要一个一个修改,该如何操作呢? A:Alt+F11进入VBE编辑环境,在Thisworkbook模块中输入以下代码,按F5执行即可。
- Sub xyf()
- Dim oPC As PivotCache
- For Each oPC In Me.PivotCaches
- oPC.MissingItemsLimit = xlMissingItemsNone
- Next
- Me.RefreshAll
- End Sub
|
3楼 亡者天下 |
还是二楼的方法简单啊
VBA太复杂了! |
4楼 hessen |
我怎么没有哪个设置项? |
5楼 paul001 |
单独去用VBA解决可能复杂化了 如果是个集合工具箱 加入这个功能就很有必要了 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一