如何通过VBA控制Excel图表源范围

时间:2019-02-14 12:21:14

标签: excel vba

我希望能够通过VBA控制和更新Excel图表的源(范围)。该图表最终将以简报形式呈现,并且整个过程将自动更新。

我尝试使用不能给我想要的控制级别的表。例如,如果我删除一个数据点,则图表不会相应地“缩小”。

ActiveChart.SetSourceData (Sheets("Sheet2").Range("E5:E9"))

当前脚本未运行。但是我只想“设置”特定图表的来源范围,最好按名称访问。而且,如果添加了新的数据点,我只需再次运行脚本,新范围将是列中.End(xlDown)

列中的顶部单元格。

1 个答案:

答案 0 :(得分:0)

谢谢大家!如果有人遇到同样的问题,我会设法找到一种对我有效的解决方案并发挥作用。别无所求,但是您可以设置一个范围,例如“ A2:A14”,并且图表将使用新范围进行更新。通过工作表名称,图表名称和范围如下调用该函数:

Call changecharts("Sheet2", "Chart1", "A2:A11")

Public Function changecharts(sheeet As String,chartname As String, rnge As String)

Worksheets(sheeet).ChartObjects(chartname).Activate

With ActivateChart
ActiveChart.SetSourceData Source:=ActiveWorkbook.Sheets(sheeet).Range(rnge)
End With


End Function