【发布时间】:2019-08-22 09:43:22
【问题描述】:
我有一个 Excel 工作簿,我在其中从现有的数据透视表生成每个 VBA 的数据透视图。此图表作为新工作表创建。
到目前为止,结果符合预期。但是当我转到生成的图表并想在字段编辑器中更改某些内容时,我收到一条错误消息:
数据透视表报表在没有基础源数据的情况下保存。选择“刷新数据”,刷新报表。 (从德语翻译)
这样做后,我可以在字段编辑器中工作。经过长时间令人伤脑筋的调试会话后,我发现我的代码在使用调试器单步执行时表现不同。
- 正常执行代码时,.Refresh貌似没有效果。
- 使用调试器单步执行代码时,.Refresh 的工作方式与预期一样,并且我在字段编辑器中没有收到错误消息。
我在 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
【问题讨论】:
-
工作簿中是否有任何工作表受保护?
-
不,没有受保护的床单或其他花哨的东西。
标签: excel vba debugging pivot-table