【发布时间】:2016-07-09 03:47:07
【问题描述】:
我有一张包含现有图表和适当动态命名范围的工作表,以便为该图表提供正确的数据。
我的问题是工作表是一个被复制的模板,并且副本的图表不再指向命名范围。命名范围被复制到工作表(范围是工作表特定的),所以看起来应该只是更新系列源数据的问题。当我手动记录时,良好的旧记录给了我以下语法:
ActiveChart.SeriesCollection(1).XValues = "=='Risk 1'!PDates"
ActiveChart.SeriesCollection(1).Values = "=='Risk 1'!Plan"
ActiveChart.SeriesCollection(2).XValues = "=='Risk 1'!ADates"
ActiveChart.SeriesCollection(2).Values = "=='Risk 1'!Actuals"
我尝试使用修改后的版本将它们重置为命名范围:
For Each Cht In TempSheet.ChartObjects
'Series 1 is the Plan
Cht.Activate
ActiveChart.SeriesCollection(1).XValues = "=='" & TempSheet.Name & "'!PDates"
ActiveChart.SeriesCollection(1).Values = "=='" & TempSheet.Name & "'!Plan"
'Series 2 is the Actuals
ActiveChart.SeriesCollection(2).XValues = "=='" & TempSheet.Name & "'!ADates"
ActiveChart.SeriesCollection(2).Values = "=='" & TempSheet.Name & "'!Actuals"
Next
我在尝试更新第一个系列的 X 值的语句中遇到错误,“应用程序定义的或对象定义的错误”。
我也尝试在其中添加 PlotArea 选择语句,以防万一这是问题,但这并没有解决问题。我检查了集合应该设置为正确评估的语句(例如,"=='" & TempSheet.Name & "'!PDates" 评估为“=='风险 1'!PDates”,这是该系列应该指出的)。
有了这个,我很困惑,如果有人能提供任何帮助,我将不胜感激。提前致谢!
【问题讨论】:
-
是公式开头连续有两个等号的问题吗?除此之外,它应该可以工作。
标签: excel vba charts named-ranges