主要观点总结
本文主要介绍了在Excel中使用VBA添加图表的方法。包括最老的Charts.Add方法,图表工作表的移动方法,以及不同的添加图表方式如ChartObjects.Add、Shapes.AddChart、Shapes.AddChart2和Charts.Add2。最后给出了插入图表并修改其属性的示例代码。
关键观点总结
关键观点1: 介绍了几种在Excel中使用VBA添加图表的方法,包括最老的Charts.Add方法和新的Shapes.AddChart2和Charts.Add2方法。
这些方法各有特点,适用于不同的场景和需求。
关键观点2: 详细解释了各个方法的语法和使用方式。
包括参数的说明和示例代码,帮助读者理解如何在实际操作中使用这些方法。
关键观点3: 给出了一个插入图表并修改其属性的示例代码。
通过这段代码,读者可以实际操作并了解如何使用VBA插入并修改图表。
正文
在
Excel
中,有几种在工作表中添加图表的
VBA
方法,下面逐一介绍。
这是最老的添加图表的
VBA
语法。原先只有单独的图表,后来演变成了图表工作表。图表工作表是工作表上没有行、列或单元格的独立图表。现在应该是不常用了,通常的做法是在一个工作表上放几个图表,这样会与绘制的数据放在一起,方便对照查看。
Charts.Add([Before],
[After], [Count])
下面的代码,将图表从其图表工作表移动到工作表
Sheet1
上。
ActiveChart.Location
where:=xlLocationAsObject, Name:="Sheet1"
可选参数允许指定在哪个工作表之前或之后添加图表工作表,以及插入多少个图表。如果未指定任何内容,则会在当前工作表之前插入一个图表工作表。插入的图表类型使用默认图表类型,除非定义了其他默认图表类型。
ChartObject
是在工作表上包含嵌入式图表的形状。此方法在指定的工作表上插入这样的
ChartObject
。其语法如下,所有的参数都是必需的:
ActiveSheet.ChartObjects.Add(Left,
Top, Width, Height)
此方法也是一种老方法,建议不应在新代码中使用。图表类型为默认图表类型(簇状柱形图),是
Excel
2007/2010
图表样式库中默认图表类型的第一种样式。
此方法最先在
Excel 2007
中引入,是对
ChartObjects.Add
方法的改进。其语法中所有参数都是可选的,还可以指定图表类型,如果省略,则插入默认图表。如果不指定其大小,则会生成默认的
5
英寸宽
3
英寸高的图表。如果不指定位置,新图表将位于活动窗口的中心。
Shapes.AddChart([xlChartType],
[Left], [Top], [Width], [Height])
添加一个包含图表的形状与添加包含图表的
ChartObject
没有什么不同。虽然比
ChartObjects.Add
有所改进,通过
Shapes.AddChart
生成的图表使用
Excel
2007/2010
图表样式库中其图表类型的第一种样式。
建议使用
Shapes.AddChart2
方法来在工作表中添加图表。
Excel 2013
中引入的此方法改进了
Shapes.AddChart
方法,包含两个额外的可选参数:
Style
参数和
NewLayout
参数。可以指定图表类型;如果省略,则使用默认图表类型。可以指定图表样式;如果省略,则应用所创建的图表类型的默认样式。如果不指定图表大小,则会生成默认的
5
英寸宽
3
英寸高的图表。如果不指定位置,图表将位于活动窗口的中心。
Shapes.AddChart2([Style],
[xlChartType], [Left], [Top], [Width], [Height], [NewLayout])
如果参数
NewLayout
为
True
,图表将使用新的布局功能,意味着始终会有图表标题,并且只有在初始图表中有两个或多个系列时才有图例。
此方法也在
Excel 2013
中引入,看起来很像
Charts.Add
,并添加了
NewLayout
参数。它插入一个图表工作表,必须将其移动到相应的工作表中。插入的图表具有默认类型(例如,簇状柱形)。
Charts.Add2([Before],
[After], [Count], [NewLayout])