需求说明:
在RPA流程发开中,需要对Excel模板中的图表更新数据区域,并且设置某个图表为选中状态(以方便复制到邮件正文中)。
需求分析:
上述这两个操作如果单纯依靠RPA的流程命令很难实现,这里我考虑使用Excel的宏函数。
宏函数1:可以对某个指定的图表,设置其数据区域,设置完后,图表自动更新折线图(或者其他图)。
宏函数2:可以实现激活某个指定图表的功能,激活即选中,这样方便我们对其进行复制粘贴操作。
宏函数(函数代码可以放在Excel中使用):
Sub SetChartRange(name As String, r As String)
'
' SetChartRange Macro:给指定的图表,设置数据范围
'
' name:图表名称
' r:要设置的数据范围
'
ActiveSheet.ChartObjects(name).Activate
ActiveChart.SetSourceData Source:=Range(r)
End Sub
执行宏函数SetChartRange时,可以传入参数name即为图表的名称,r即为数据范围。
注意,有时候这个数据范围并不是连续的数据区域,如某个图表的数据范围可能是【A列+B列】数据、也可能是【A列+D列】数据。假设有100行数据,此时应该这样传参:
【A列+B列】数据 ==> SetChartRang("图表1","A1:B100"); 或者 SetChartRang("图表1","A1:A100,B1:B100");
【A列+D列】数据 ==> SetChartRang("图表1","A1:A100,D1:D100");
Sub SelectChart(name As String)
'
' SelectChart Macro:选中指定的图表
'
' name:图表名称
'
ActiveSheet.ChartObjects(name).Activate
End Sub
传参举例:SelectChart("图表1")
这样,在RPA流程中,打开该表格,就可以直接调用这2个宏函数为我们干活了,美汁汁~