excel - VBA 数据透视表动态范围
问题描述
我正在尝试为其行和列将来可能更改的数据透视表创建 VBA 代码。我使用了以下代码,但在设置 ptable 阶段出现运行时错误 1004。我还想在这里添加一个代码删除工作表“Pivot”(如果存在),然后创建一个新的,以便可以捕获所有数据。请您给点建议。
Dim Pivot As Worksheet
Dim pCache As PivotCache
Dim pTable As PivotTable
Dim lastRows As Long
Set Pivot = Worksheets.Add
Set pCache = ActiveWorkbook.PivotCaches.Create(xlDatabase, Sheets("CJI Data").Range("A2").CurrentRegion.Address(ReferenceStyle:=xlR1C1))
Set pTable = pCache.CreatePivotTable(Pivot.Range("A1"))
谢谢,R
解决方案
为什么需要 .Address 和 R1C1?
Set PCache = ActiveWorkbook.PivotCaches.Create (xlDatabase, Sheets(“CJI Data”).Range(“A2”).CurrentRegion)
此外,如果数据扩展,无需删除表,这就是您使用动态范围的原因。只需刷新表。
推荐阅读
- android - 修复 java.net.ProtocolException: Expected ':status' header not present from NGINX 的问题
- node.js - 如何为 Visual Studio 2019 安装 node js 工具?
- c++ - 保存对 tbb::concurrent_unordered_map 项目的引用是否安全?
- node.js - nodejs pem 为内网 CIPHER_MISMATCH 生成 openssl 自签名证书
- python - 如何将 DataFrame 转换为嵌套的 JSON
- rest - 制作良好的 REST API 请求缓存密钥的最佳实践是什么?
- java - 如何从单独的方法打印 ArrayList?
- angular - 使用 ngFor 从数组中查找最后一个索引
- android - 在 Glide 中找不到签名()
- identityserver4 - 授权流访问和刷新令牌