使用两个数据系列动态更改条形图的数据

时间:2015-03-11 10:27:00

标签: vba dynamic charts

我正在尝试创建一个动态算法,每次调整数据库时,该算法会调整两个数据系列的条形图数据。我试图使用的代码如下:

Sheet8.ChartObjects("PriceBarGraph").Activate
ActiveChart.SeriesCollection(1).Values = _
"='DeliveredPriceFunction '!$B$7:$B$62"
ActiveChart.SeriesCollection(2).Values = Me.Range("B7", Cells(Me.Range("H3").Value + 7, 1))

我收到运行时1004应用程序定义或对象定义的错误。

如果提前感谢,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

可以使用OFFSET函数在Excel中指定动态范围,而不是使用VB代码。用于指定动态范围的字符串如下:

=OFFSET(BarGraph_Data!$C$2,1,0,BarGraph_Data!$G$3,1)

偏移功能的工作原理如下:

=OFFSET(anchor point, rows offset, col offset, height)

高度设置为您要绘制的数据点数。然后设置条形图以绘制该数据范围,并且当在单元格G3中改变高度时,范围相应地改变,因此条形图也是如此。

此视频帮助我解决了这个问题:

https://www.youtube.com/watch?v=1VnITD0rU1A