我有一本Excel工作簿,其中我从一个现有的数据透视表中为每个VBA生成一个数据透视图。此图表被创建为新工作表。
到目前为止,结果是预期的。但是,当我转到生成的图表并想要在字段编辑器中更改某些内容时,会收到错误消息:
数据透视表报表已保存,没有基础源数据。选择“刷新数据”,以刷新报告。 (德语翻译)
这样做之后,我可以在字段编辑器中工作。经过长时间的紧张工作,我发现调试程序逐步执行代码时,代码的行为会有所不同。
我在Excel 2010和2013中尝试过。这两个版本都表现出相同的行为。
Charts.Add
chartSheetName = dqSource & "_PIVOT_CHART"
With ActiveChart
.Location where:=xlLocationAsNewSheet , Name:=chartSheetName
.HasTitle = True
.ChartTitle.Select
.ChartTitle.Text = "My chart title"
.Refresh ' <-- This is the suspect
End With
答案 0 :(得分:5)
PivotChart
取决于PivotTable
。
我建议改为刷新该数据透视表的PivotCache
:
With myPivotTable
.PivotCache.Refresh
.PivotCache.MissingItemsLimit = xlMissingItemsNone
End With
答案 1 :(得分:0)
您可以尝试以下代码行:
Do Events
此后,将实时启动代码。
答案 2 :(得分:0)
您的问题是由于您需要在工作表中链接基础数据而引起的。 将其定位在数据透视表的单元格中,请转到数据透视表选项=>数据选项卡=>选中选项“将源数据保存为文件”。此选项使excel可以将数据透视表缓存与工作表一起保存。
希望对您有所帮助。 最好的问候来自哥伦比亚。