专栏名称: 完美Excel
Excel与VBA技术学习与实践
目录
相关文章推荐
完美Excel  ·  使用deepseek自动合并“复杂的”Exc ... ·  3 天前  
完美Excel  ·  使用deepseek自动合并工作簿 ·  4 天前  
Excel之家ExcelHome  ·  年少不识透视表,错把函数当成宝 ·  昨天  
Excel之家ExcelHome  ·  高效办公必备的几个常用函数公式 ·  4 天前  
Excel之家ExcelHome  ·  WPS表格中的AI函数,真牛 ·  3 天前  
51好读  ›  专栏  ›  完美Excel

使用VBA添加图表

完美Excel  · 公众号  · Excel  · 2024-11-05 05:34

主要观点总结

本文主要介绍了在Excel中使用VBA添加图表的方法。包括最老的Charts.Add方法,图表工作表的移动方法,以及不同的添加图表方式如ChartObjects.Add、Shapes.AddChart、Shapes.AddChart2和Charts.Add2。最后给出了插入图表并修改其属性的示例代码。

关键观点总结

关键观点1: 介绍了几种在Excel中使用VBA添加图表的方法,包括最老的Charts.Add方法和新的Shapes.AddChart2和Charts.Add2方法。

这些方法各有特点,适用于不同的场景和需求。

关键观点2: 详细解释了各个方法的语法和使用方式。

包括参数的说明和示例代码,帮助读者理解如何在实际操作中使用这些方法。

关键观点3: 给出了一个插入图表并修改其属性的示例代码。

通过这段代码,读者可以实际操作并了解如何使用VBA插入并修改图表。


正文

标签: VBA 图表编程

Excel 中,有几种在工作表中添加图表的 VBA 方法,下面逐一介绍。

Charts.Add

这是最老的添加图表的 VBA 语法。原先只有单独的图表,后来演变成了图表工作表。图表工作表是工作表上没有行、列或单元格的独立图表。现在应该是不常用了,通常的做法是在一个工作表上放几个图表,这样会与绘制的数据放在一起,方便对照查看。

VBA 语法如下:

Charts.Add([Before], [After], [Count])

下面的代码,将图表从其图表工作表移动到工作表 Sheet1 上。

ActiveChart.Location where:=xlLocationAsObject, Name:="Sheet1"

可选参数允许指定在哪个工作表之前或之后添加图表工作表,以及插入多少个图表。如果未指定任何内容,则会在当前工作表之前插入一个图表工作表。插入的图表类型使用默认图表类型,除非定义了其他默认图表类型。

ChartObjects.Add

ChartObject 是在工作表上包含嵌入式图表的形状。此方法在指定的工作表上插入这样的 ChartObject 。其语法如下,所有的参数都是必需的:

ActiveSheet.ChartObjects.Add(Left, Top, Width, Height)

此方法也是一种老方法,建议不应在新代码中使用。图表类型为默认图表类型(簇状柱形图),是 Excel 2007/2010 图表样式库中默认图表类型的第一种样式。

Shapes.AddChart

此方法最先在 Excel 2007 中引入,是对 ChartObjects.Add 方法的改进。其语法中所有参数都是可选的,还可以指定图表类型,如果省略,则插入默认图表。如果不指定其大小,则会生成默认的 5 英寸宽 3 英寸高的图表。如果不指定位置,新图表将位于活动窗口的中心。

其语法如下:

Shapes.AddChart([xlChartType], [Left], [Top], [Width], [Height])

添加一个包含图表的形状与添加包含图表的 ChartObject 没有什么不同。虽然比 ChartObjects.Add 有所改进,通过 Shapes.AddChart 生成的图表使用 Excel 2007/2010 图表样式库中其图表类型的第一种样式。

Shapes.AddChart2

建议使用 Shapes.AddChart2 方法来在工作表中添加图表。

Excel 2013 中引入的此方法改进了 Shapes.AddChart 方法,包含两个额外的可选参数: Style 参数和 NewLayout 参数。可以指定图表类型;如果省略,则使用默认图表类型。可以指定图表样式;如果省略,则应用所创建的图表类型的默认样式。如果不指定图表大小,则会生成默认的 5 英寸宽 3 英寸高的图表。如果不指定位置,图表将位于活动窗口的中心。

其语法如下:

Shapes.AddChart2([Style], [xlChartType], [Left], [Top], [Width], [Height], [NewLayout])

如果参数 NewLayout True ,图表将使用新的布局功能,意味着始终会有图表标题,并且只有在初始图表中有两个或多个系列时才有图例。

Charts.Add2

此方法也在 Excel 2013 中引入,看起来很像 Charts.Add ,并添加了 NewLayout 参数。它插入一个图表工作表,必须将其移动到相应的工作表中。插入的图表具有默认类型(例如,簇状柱形)。

其语法如下:

Charts.Add2([Before], [After], [Count], [NewLayout])

如果参数






请到「今天看啥」查看全文