在VBA中手动创建图表的数据范围

时间:2014-05-28 14:14:55

标签: excel vba excel-vba

我已经浏览了Stackoverflow和其他网站,但我还没有找到以下解决方案:

我想在VBA中手动设置图表的数据。我不想引用工作表,例如

MyChart.SeriesCollection(1).XValues = "=Sheet1!$F$25:$G$25"

我想要的是:

MyChart.SeriesCollection(1).XValues = {Value1,Value2,Value3,...}

但我不知道如何以这种方式设置数据。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:3)

使用一系列值执行此操作:

Dim xVals() As Variant

xVals = Array(30,50,70,90,25)


MyChart.SeriesCollection(1).XValues = xVals

如果要使用工作表中的值,而不引用工作表,则可以稍微修改它。使用此方法,我们可以从工作表中获取,将它们存储在数组中并使用该数组填充图表数据。该图表将反映数据,但不会随着数据的变化而更新,因此您可以使用此方法防止用户无意中更改图表的数据:

Dim xVals() As Variant
xVals = Sheet1.Range("F25:G25").Value
MyChart.SeriesCollection(1).xValues = xVals