【问题标题】:Dynamically change the data of a bar chart with two data series使用两个数据系列动态更改条形图的数据
【发布时间】:2015-03-18 14:38:59
【问题描述】:

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

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 应用程序定义或对象定义错误。

任何帮助将不胜感激,在此先感谢。

【问题讨论】:

  • 我认为不要使用“me.range”,而是尝试使用实际工作表名称; "sheets("yoursheetname").range(....etc"
  • 很遗憾,我仍然收到错误消息。但是,我确实找到了实现相同结果的替代方法。我将在答案中详细说明。谢谢@Philippe

标签: vba dynamic charts


【解决方案1】:

可以在 Excel 中使用 OFFSET 函数指定动态范围,而不是使用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 2013-04-07
    • 1970-01-01
    • 2022-11-23
    • 1970-01-01
    相关资源
    最近更新 更多