ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何用代码删除当前工作簿中所有数据透视表的计算字段?

如何用代码删除当前工作簿中所有数据透视表的计算字段?

作者:绿色风 分类: 时间:2022-08-17 浏览:125
楼主
水星钓鱼
Q:如何用代码删除当前工作簿中所有数据透视表的计算字段
A:用以下代码可以批量删除当前工作簿中所有数据透视表的计算字段
  1. Sub xyf_DPF()
  2.     '定义数据透视表变量
  3.     Dim oPT As PivotTable
  4.     '定义工作表变量
  5.     Dim oWS As Worksheet
  6.     '定义字段变量
  7.     Dim oPF As PivotField
  8.     '遍历所有工作表中的所有数据透视表中的所有计算字段
  9.     For Each oWS In ThisWorkbook.Worksheets
  10.         For Each oPT In oWS.PivotTables
  11.             For Each oPF In oPT.CalculatedFields
  12.                 oPF.Delete
  13.             Next
  14.         Next
  15.     Next
  16. End Sub
2楼
omnw
学习水星的代码。
3楼
花蔓
举手 问个问题
透视表计算字段和计算项要分别删除的么?
有没有可以一步到位 直接都清除的
4楼
小吴同学
定义多一个计算项变量,然后中间插入多一个for each
  1. Sub xyf_DPF()

  2.     '定义数据透视表变量

  3.     Dim oPT As PivotTable

  4.     '定义工作表变量

  5.     Dim oWS As Worksheet

  6.     '定义字段变量

  7.     Dim oPF As PivotField


  8.     dim ci as CalculatedItem

  9.     '遍历所有工作表中的所有数据透视表中的所有计算字段

  10.     For Each oWS In ThisWorkbook.Worksheets

  11.         For Each oPT In oWS.PivotTables

  12.             For Each oPF In oPT.CalculatedFields

  13.                 oPF.Delete

  14.             Next

  15.            For Each ci In oPT.CalculatedItems

  16.                 ci.Delete

  17.             Next

  18.         Next

  19.     Next

  20. End Sub
5楼
花蔓
举手 我忘了说了 我的透视表在03里的
DIM ci As CalculatedItem
这句代码 提示 用户定义类型未定义
是说 高低版本代码都不一样阿 @@


6楼
水星钓鱼
小吴同学的估计是没有调试过的代码:)

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap