【发布时间】:2016-11-14 13:02:12
【问题描述】:
我有一个图表,它通过分配给开发人员按钮的 VBA 宏进行更新:
ActiveChart.SetSourceData Source:=Sheets("Tab1").Range("Range1")
VBA 引用了一个命名范围 (Range1),它使用 OFFSET 逻辑以流动的方式引用所需的数据范围。
=OFFSET('data sheet'!$A$6,0,0, COUNTIF('data sheet'!$A$7:$A$506,">1")+1,COUNTIF('data sheet'!$A$3:$GT$3,"*"))
我现在需要在此图表中添加更多系列,并希望将范围 2 添加到我的图表中,但发现将我的 VBA 修改为以下内容不起作用:
ActiveChart.SetSourceData Source:=Union(Sheets("Tab1").Range("Range1"),Sheets("Tab2").Range("Range2"))
ps,我没有在此处包含示例数据集,因为该过程的所有部分都使用动态命名范围,因此只要变量以列形式存储,建立在任何 nXn 数据网格上的解决方案都应该在这里工作
【问题讨论】:
-
你能尝试用macrorecorder添加更多的来源,看看它会产生什么吗?
-
您好,记录器不使用 .SetSourceData 语法。它产生:
ActiveChart.SeriesCollection.NewSeries ActiveChart.FullSeriesCollection(23).Name = "='Tab2" ActiveChart.FullSeriesCollection(23).Values = _ "='Tab2'!$B$7:$B$201"