excel - 未在不同工作表上创建具有不同缓存的第二个数据透视表
问题描述
我显然遗漏了一些明显的东西。
我基于一张表创建一个数据透视表,并获取所有数据字段。然后,当我尝试从第二个源表创建新缓存时,新的数据透视表不会出现。
lRow = Sheets("Source1").Cells(Sheets("Source1").Rows.Count, 1).End(xlUp).Row
lCol = Sheets("Source1").Cells(1, Sheets("Source1").Columns.Count).End(xlToLeft).Column
' Manipulate data, including new columns
Set PRange = Sheets("Source1").Cells(1, 1).Resize(lRow, lCol + 2)
Set PDest = Sheets("Source1 Summary")
Set PCache = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
PRange).CreatePivotTable(TableDestination:= _
PDest.Cells(3, 1), TableName:="Source1Pivot")
' Set up the table with the data fields, all works perfectly
'For the new Pivot Table:
lRow = Sheets("Source2").Cells(Sheets("Source2").Rows.Count, 1).End(xlUp).Row
lCol = Sheets("Source2").Cells(1, Sheets("Source2").Columns.Count).End(xlToLeft).Column
Set PRange = Sheets("Source2").Cells(1, 1).Resize(lRow, lCol + 1)
Set PDest = Sheets("Source2 Summary")
Set PCache2 = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
PRange).CreatePivotTable(TableDestination:= _
PDest.Cells(3, 1), TableName:="Source2Pivot")
此时,没有新建数据透视表,添加字段也不起作用。宏以“Source2 摘要”为空白结束。
我确实验证了新的 lRow 和 lCol 是从 Source2 页面中提取的。你能看到我错过的一些愚蠢的事情吗?我无法找到有关在新页面上使用新来源设置新支点的任何信息……大概是因为它通常可以正常工作!
解决方案
您将 prange 设置为比基础数据宽的两列,因此无法创建数据透视表,因为这些空白列没有列标题。
推荐阅读
- java - 在springboot中获取存储库对象null
- c# - User checked item in CheckedListBox
- javascript - 将 javascript 变量插入到转义的 JSON 字符串中
- java - 每次出现的匹配条件
- c++ - 如何将半个堆栈弹出到另一个堆栈
- reactive-programming - 如何做反应式六边形架构
- python-3.x - Python,Beautifulsoup - 根据列表中的项目从标签中提取字符串
- python - 如何将我的 python 代码集成到我的 tkinter 接口?
- android - kotlin 中lazy{} 与 getter() 初始化之间的区别
- shell - Shell Script - 如何不时比较目录的内容