基于VBA中的可变单元格范围设置图表源数据

时间:2013-01-17 21:15:16

标签: excel vba excel-vba charts

我正在创建一个报告模板,其中一部分将生成结构类似于移动平均值的数据图表

为此,我需要在一个工作表中选择一系列数据(例如f10:i14)并将其设置为一个图表的来源

以下代码可以使用

ActiveChart.SetSourceData Source:=Sheets("Weekly Trends").Range("f10,i14")

但这不是

ActiveChart.SetSourceData Source:=Sheets("Weekly Trends").Range(Cells(x, y), Cells(k, z))

它会返回1004 error

但我需要根据报告目的指定基于变量索引的范围,请帮助

1 个答案:

答案 0 :(得分:14)

您必须完全限定.Cells对象

试试这个

ActiveChart.SetSourceData Source:=Sheets("Weekly Trends").Range(Sheets("Weekly Trends").Cells(x, y), Sheets("Weekly Trends").Cells(k, Z))

您也可以将上述代码缩短

With Sheets("Weekly Trends")
    ActiveChart.SetSourceData Source:=.Range(.Cells(x, y), .Cells(k, Z))
End With