将系列值更改为命名范围

时间:2016-05-20 19:29:46

标签: excel vba excel-vba

我在Excel中有一个图表("图表13和#34;),我也有一个名为" nationals"的命名范围。

我想替换其中一个图表系列' Y具有指定范围的值(图表有三个不同的系列,我计划为所有三个系列重复类似的过程)。

这是我一直在尝试但没有成功:

ActiveWorkbook.Sheets("My_Sheet").ChartObjects("Chart 13").Activate
ActiveChart.SeriesCollection(1).Values = Range("nationals")

我收到以下错误:

  

"运行时错误' 91':对象变量或未设置块变量"

我觉得我已经接近了,但在我的生命中无法到达终点!我感谢任何帮助。

修改 这是一个折线图(带有标记) - 抱歉以前没有清楚。相同情况的简单版本: enter image description here

1 个答案:

答案 0 :(得分:1)

您需要将对象添加到范围内,如下所示:

Dim MyChart
Set MyChart = ActiveWorkbook.Sheets("My_Sheet").ChartObjects("Chart 13").Chart

MyChart.SeriesCollection(1).Values = ActiveWorkbook.Sheets("My_Sheet").Range("nationals")

另外,正如您所注意到的,ChartObjects().Chart对象具有SeriesCollection