在日常工作中,使用VBA操作Excel图表是经常遇到的场景。
示例图表如下:
使用如下代码可以更新图表的数据源区域,增加一个数据系列。
Sub UpdateChart()
ActiveSheet.ChartObjects(1).Activate
ActiveChart.SetSourceData Source:=Range("Sheet1!$A$1:$D$6")
End Sub
更新后的图表如下所示。
代码很简单,即使大家不知道SetSourceData
方法,也可以通过录制宏的方法获得代码。
现在问题来了,如何读取图表的数据源区域呢?Chart
对象并没有SourceData
属性,也没有GetSourceData
方法。这只能说明微软并未提供相应的接口,我们仍然可以使用变通的方法来获取图表的数据源区域。
示例代码如下:
Sub GetDataSource()
Dim objCht As chart, sFormula As String
Dim aTxt, topRightCell As Range, bottomLeftCell As Ran