如何用vba更改数据透视表的数据源?

您所在的位置:网站首页 数据透视表如何自动更新数据源区域 如何用vba更改数据透视表的数据源?

如何用vba更改数据透视表的数据源?

2023-08-12 10:41| 来源: 网络整理| 查看: 265

如何用vba更改数据透视表的数据源? 2018年12月26日 作者:水星Excel 9,402 次浏览 暂无评论

在excel中可以基于多种数据源创建数据透视表,其中基于excel单元格区域创建数据透视表是最常见的一种。

通过PivotTable对象的SourceData属性可以返回相应的数据透视表的数据源。

通过查看微软官方的帮助文档发现通过PivotTable对象的SourceData属性只能读取数据源,不能通过PivotTable对象的SourceData属性更改数据透视表的数据源。

但是通过测试,实际上也可以直接通过PivotTable对象的SourceData属性直接更改基于单元格区域创建的数据透视表的数据源。

这也是迄今为止发现的最简单的用vba更改数据透视表数据源的方法。

只是在修改数据透视表的数据源时,需要将具体的数据源的单元格地址赋值给PivotTable对象的SourceData属性。

如下的vba代码举例演示了如何通过修改PivotTable对象的SourceData属性直接更改基于单元格区域创建的数据透视表的数据源:

Sub QQ1722187970() Dim oPT As PivotTable Dim oPC As PivotCache Dim oWK As Worksheet Set oWK = Excel.ActiveSheet iRow = oWK.Range("a65536").End(xlUp).Row With oWK Set oPT = .PivotTables(1) With oPT '获取原来的数据透视表的数据源 sOrign = .SourceData '直接将数据源更改为其它单元格区域 .SourceData = oWK.Range("a1:c" & iRow).Address(True, True, xlR1C1, True) '获取最新的数据透视表的数据源 sNew = .SourceData '刷新透视表 .RefreshTable '刷新数据源 .Update End With End With End Sub 其它相关文章推荐:如何用vba更新数据透视表?如何用vba设置数据透视表中的错误值和空单元格的显示值?如何用vba显示或隐藏数据透视表的行列总计?如何用vba切换数据透视表的报表布局?如何用vba给数据透视表添加计算字段?如何用vba清空删除工作表中的所有数据透视表? 分类 :  VBA , 数据透视表 标签 :  PivotCache , PivotTable , SourceData , 数据源 , 数据透视表 , 更改数据源        

声明: 本站文章均属原创,未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则视为侵权。如果想要每天都收到本站的技术文章推送,可以微信搜索公众号:水星Excel或者Excel_Office关注。其它事宜请加QQ:1722187970 或微信号:xycgenius 联系。 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3