vba - 将系列值更改为命名范围

标签 vba excel

我有一个 Excel 图表(“图表 13”),还有一个名为“nationals”的命名范围。

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

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

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

我收到以下错误:

"Run-time error '91': Object variable or With block variable not set"

我觉得我已经接近终点线了,但我一生都无法到达终点线!我感谢任何帮助。

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

最佳答案

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

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

关于vba - 将系列值更改为命名范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37354508/

相关文章:

vba - 从另一个控件的回调更新 iRibbon 控件的内容

excel - 如何使用具有一系列值的自动填充/填充

vba - 在VBA排序中设置范围

java - 错误 : java. lang.NoClassDefFoundError:解析失败:Lorg/apache/xmlbeans/XmlOptions;

excel - 使用 VBA 粘贴时如何修复运行时错误 1004

VBA:使用字符串常量指定范围

excel - 如何使用Delphi正确设置公式的Excel NumberFormat属性?

vba - 使用 Excel VBA 查找列匹配并根据其他两列的值进行合并

excel - 为什么 Excel 不显示 DATEDIF() 的参数提示?

vba - 使用 VBA 将文本添加到 Excel 中的单元格