Excel VBA编程 图表位置
图表的位置主要有两种,一种是作为新工作表进行插入,另一种是插入到当前活动的工作表中,用户可以根据需要对其进行适当的更改。下面介绍两种位置的区别:
新工作表 建立的图表单独放在新工作表中从而创建一个图表工作表。
对象位于 建立的图表对象(嵌入图表)被插入到当前工作表中。
当创建完毕图表后,用户可以通过VBA代码进行更改图表的位置,其方法如下。
1.嵌入图表转化为图表工作表
嵌入式图表转化为图表工作表,即将工作表中的内嵌的图表移动到一个新建的图表工作表中。
打开一个包含图表的工作表,并进入VBE窗口中,新建一个模块。然后,在该模块中,输入如图17-5所示的代码。
图17-5 输入代码
在【代码】编辑窗口中,输入的代码如下:
Sub 嵌入图表转化为图表工作表()
'定义变量
Dim tubiao As ChartObject
'激活图表对象
For Each tubiao In ActiveSheet.ChartObjects
'移动图表到新工作表
tubiao.Chart.Location where:=xlLocationAsNewSheet
'执行下一个tubiao对象
Next tubiao
End Sub
其中,在上述的代码中,使用了一个For Each„Next循环语句,可以实现将所有的嵌入式图表转化为图表工作表。
另外,在上述的代码中,还使用了一个Chart.Location方法,该方法可以将图表移动到新位置。
语法:表达式.Location(Where, Name)
在该方法中,表达式为一个返回Chart对象的表达式。Where为必选参数,表示图表移动的目标位置。如果Where为xlLocationAsObject,则该参数为嵌入该图表的工作表的名称。如果Where为xlLocationAsNewSheet,则该参数为新工作表的名称。Name为可选参数,表示图表将要移至的工作表位置。例如,将嵌入图表移至新图表工作表“计划表”,可以输入以下代码: