Excel图表编程应用大全(1):初识图表编程
2013-07-09 16:11
453 查看
录制创建图表的过程代码
让我们手工创建不同的图表并录制宏,看看图表对象的一些属性和方法。
步骤1 准备数据,如下图所示。
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/chartsample11.png)
步骤2 单击“开发工具—录制宏”。
步骤3 将宏命名为BuildSalesChart,如下图所示。
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/chartsample12.png)
步骤4 单击“确定”,开始录制宏。
步骤5 选择单元格A1:E7,如下图所示。
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/chartsample13.png)
步骤6 单击“插入—柱形图”,在“三维柱形图”中选择最左边的图表类型,如下图所示。
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/chartsample14.png)
步骤7 停止宏录制器。
此时,在工作表中插入了新图表,如下图所示。注意,Excel选择了与每个图表元素相关的数据区域(图例、值和水平轴标签)。
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/chartsample15.png)
上面的图表将销售额按月分组,帮助我们看到哪类产品在该月销售最好。
除了插入图表外,Excel同时添加了上下文功能区。上下文功能区提供了与当前所选对象相关的命令。下图显示了“图表工具”上下文功能区,包含三个功能区:设计、布局、格式。
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/chartsample16.png)
Excel默认的图表操作是按列显示数据值(本例中按产品)。垂直轴和水平轴可能不会按你期望的方向显示数据,假设本例就是这种情形。下面,让我们再录制一个宏,看看Excel切换图表数据方向从列到行的命令应用。
步骤1 在“开发工具”选项卡中,单击“录制宏”。
步骤2 将宏命名为“ChartByRow”。
步骤3 单击图表内任意位置选择图表。
步骤4 从“图表工具”中选择“设计”选项卡。
步骤5 从“设计”选项卡的“数据”组中,选择“切换行/列”命令,如下图所示。
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/chartsample17.png)
步骤6 停止宏录制器。
图表现在应该如下图所示。
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/chartsample18.png)
上面的图表能够很方便地查看每种产品的销售趋势。
查看代码
让我们看看到目前为止生成的宏代码。BuildSalesChart宏使用选择的数据区域创建了一个三维柱状图表。ChartByRow宏切换默认的图表数据方向,由列切换为行。
代码总共有4行。第1行用来选择创建图表的数据区域,第2行添加一个图表并通过Select方法激活该图表。注意,图表是Shape对象的成员,AddChart方法返回一个Shape对象。
AddChart方法有一些可选参数,没有必需的参数。
表:AddChart方法的参数
xlChartType类型包括Excel发布的所有图表类型,如下面的列表所示。
第3行代码将所选择的数据区域赋值给图表的Source属性。
第4行使用ActiveChart对象的ChartType属性直接设置图表类型。ChartType属性与AddChart方法的可选参数具有相同的属性值。因此,调用AddChart方法时就可以设置ChartType属性,以简化宏录制的代码:
表:xlCharType枚举值
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/xlcharttype1.png)
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/xlcharttype2.png)
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/xlcharttype3.png)
下面,再来看看ChartByRow宏中切换图表数据方向的代码:
代码总共只有2行。第1行代码调用ChartObjects.Activate方法来激活名为“图表 3”的图表。ChartObject对象代表在工作表中嵌入的图表,ChartObjects对象包含在图表工作表、对话框工作表、或工作表中所有ChartObject对象的集合
ActiveChart.PlotBy属性设置或返回xlRowCol枚举的值。下表列出了xlRowCol枚举项的值。
表:xlRowCol枚举
2009年12月1日 -- Excel图表编程应用大全(2):图表编程基础 (2)
嵌入式图表和图表工作表 图表在工作表中有两种存在方式: 嵌入式图表与工作表的数据在一起,或者与其他的嵌入式图表在一起。 图表工作表是特定的工作表,只包含单独的图表。 (1)嵌入式图表 当希望图表作为工作表的一部分,与数据或其他图表在一起时,嵌入式图表是最好的选择。Chart对象代表每一个嵌入式图表,包含在ChartObject对象里。 每个Excel工作表都有一个ChartObj...
2011年04月15日 -- Excel图表编程应用大全(3):示例-使用饼图汇总 (0)
引言:本文来源于《Pro Excel 2007 VBA》的第5章,辑录于此,供学习图表编程参考。 如下图所示的示例工作表,列表中分别为产品、月份、销售量。 这份数据为我们在饼图中显示每个类别提供了相当好的格式,按月查看每个产品线整体销量情况。在开始为这类数据制作图表之前,最好先按正确的顺序将数据排序,使选择图表更容易。 1、将活动单元格位于数据表的任意位置。 2、在“数据”选...
2009年08月14日 -- 在VBA中使用R1C1样式的公式 (0)
通常,在Excel中采用的A1样式引用单元格,即行号为数字列号为字母。其实,Excel也支持R1C1样式的引用方式,并且这种引用方式在公式中是非常高效的,特别是在VBA中编写公式进行数据处理时。 下面,我们举一个例子,即在VBA中使用R1C1样式的公式建立乘法表。在工作表单元格区域B1:K1中输入数字1至10,在A2:A11中也输入数字1至10,然后在单元格区域B2:K11中获得单元格所在...
2009年11月16日 -- 修改数据透视表 (2)
下面,我们来修改在《创建数据透视表》中创建的保险数据透视表。你将会看到当源表中的数据改变时会发生什么,学习如何查看不同类型的数值汇总,还将使用内置的格式功能来修改数据透视表的外观。最后,如果不再需要数据透视表,可以删除它。 改变数据透视表 有时,你会创建数据透视表并且让它保持相同的布局且无须修改字段。每周或每月,你将更新数据,基于数据透视表汇总来查看结果或者分发报表。然而,有一些数据透视...
2011年03月14日 -- Array函数 (0)
可以使用Array函数给数组批量赋值,例如: myArray = Array(1, 2, 3, 4, 5) 语法 Array(元素1,元素2,…,元素n) 其中 元素是赋给数组元素的数据,可为任意的数据类型。 其返回值为由传递给函数的参数组成的变体型数组。 例如: Dim varMyArray varMyArray = Array("张三", "李四", "王五", "赵六...
让我们手工创建不同的图表并录制宏,看看图表对象的一些属性和方法。
步骤1 准备数据,如下图所示。
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/chartsample11.png)
步骤2 单击“开发工具—录制宏”。
步骤3 将宏命名为BuildSalesChart,如下图所示。
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/chartsample12.png)
步骤4 单击“确定”,开始录制宏。
步骤5 选择单元格A1:E7,如下图所示。
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/chartsample13.png)
步骤6 单击“插入—柱形图”,在“三维柱形图”中选择最左边的图表类型,如下图所示。
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/chartsample14.png)
步骤7 停止宏录制器。
此时,在工作表中插入了新图表,如下图所示。注意,Excel选择了与每个图表元素相关的数据区域(图例、值和水平轴标签)。
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/chartsample15.png)
上面的图表将销售额按月分组,帮助我们看到哪类产品在该月销售最好。
除了插入图表外,Excel同时添加了上下文功能区。上下文功能区提供了与当前所选对象相关的命令。下图显示了“图表工具”上下文功能区,包含三个功能区:设计、布局、格式。
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/chartsample16.png)
Excel默认的图表操作是按列显示数据值(本例中按产品)。垂直轴和水平轴可能不会按你期望的方向显示数据,假设本例就是这种情形。下面,让我们再录制一个宏,看看Excel切换图表数据方向从列到行的命令应用。
步骤1 在“开发工具”选项卡中,单击“录制宏”。
步骤2 将宏命名为“ChartByRow”。
步骤3 单击图表内任意位置选择图表。
步骤4 从“图表工具”中选择“设计”选项卡。
步骤5 从“设计”选项卡的“数据”组中,选择“切换行/列”命令,如下图所示。
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/chartsample17.png)
步骤6 停止宏录制器。
图表现在应该如下图所示。
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/chartsample18.png)
上面的图表能够很方便地查看每种产品的销售趋势。
查看代码
让我们看看到目前为止生成的宏代码。BuildSalesChart宏使用选择的数据区域创建了一个三维柱状图表。ChartByRow宏切换默认的图表数据方向,由列切换为行。
Sub BuildSalesChart() ' ' BuildSalesChart Macro ' ' Range("A1:E7").Select ActiveSheet.Shapes.AddChart.Select ActiveChart.SetSourceData Source:=Range("'每月销售数据'!$A$1:$E$7") ActiveChart.ChartType = xl3DColumnClustered End Sub |
AddChart方法有一些可选参数,没有必需的参数。
表:AddChart方法的参数
参数名称 | 数据类型 | 描述 |
---|---|---|
Type | xlChartType | 图表类型(柱状图、折线图、饼图,等) |
Left | Variant | 从图表左边缘到A列左边缘的距离 |
Top | Variant | 从图表顶部边缘到工作表顶部边缘的距离 |
Width | Variant | 图表的宽度 |
Height | Variant | 图表的高度 |
第3行代码将所选择的数据区域赋值给图表的Source属性。
第4行使用ActiveChart对象的ChartType属性直接设置图表类型。ChartType属性与AddChart方法的可选参数具有相同的属性值。因此,调用AddChart方法时就可以设置ChartType属性,以简化宏录制的代码:
Sub BuildSalesChart() ' ' BuildSalesChart Macro ' ' Range("A1:E7").Select ActiveSheet.Shapes.AddChart(xl3DColumnClustered).Select ActiveChart.SetSourceData Source:=Range("'每月销售数据'!$A$1:$E$7") End Sub |
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/xlcharttype1.png)
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/xlcharttype2.png)
![](http://www.excelperfect.com/wordpress/wp-content/uploads/2009/10/xlcharttype3.png)
下面,再来看看ChartByRow宏中切换图表数据方向的代码:
Sub ChartByRow() ' ' ChartByRow Macro ' ' ActiveSheet.ChartObjects("图表 3").Activate ActiveChart.PlotBy = xlRows End Sub |
ActiveChart.PlotBy属性设置或返回xlRowCol枚举的值。下表列出了xlRowCol枚举项的值。
表:xlRowCol枚举
名称 | 值 |
---|---|
xlRows | 1 |
xlColumns | 2 |
相关文章
2009年12月1日 -- Excel图表编程应用大全(2):图表编程基础 (2)嵌入式图表和图表工作表 图表在工作表中有两种存在方式: 嵌入式图表与工作表的数据在一起,或者与其他的嵌入式图表在一起。 图表工作表是特定的工作表,只包含单独的图表。 (1)嵌入式图表 当希望图表作为工作表的一部分,与数据或其他图表在一起时,嵌入式图表是最好的选择。Chart对象代表每一个嵌入式图表,包含在ChartObject对象里。 每个Excel工作表都有一个ChartObj...
2011年04月15日 -- Excel图表编程应用大全(3):示例-使用饼图汇总 (0)
引言:本文来源于《Pro Excel 2007 VBA》的第5章,辑录于此,供学习图表编程参考。 如下图所示的示例工作表,列表中分别为产品、月份、销售量。 这份数据为我们在饼图中显示每个类别提供了相当好的格式,按月查看每个产品线整体销量情况。在开始为这类数据制作图表之前,最好先按正确的顺序将数据排序,使选择图表更容易。 1、将活动单元格位于数据表的任意位置。 2、在“数据”选...
2009年08月14日 -- 在VBA中使用R1C1样式的公式 (0)
通常,在Excel中采用的A1样式引用单元格,即行号为数字列号为字母。其实,Excel也支持R1C1样式的引用方式,并且这种引用方式在公式中是非常高效的,特别是在VBA中编写公式进行数据处理时。 下面,我们举一个例子,即在VBA中使用R1C1样式的公式建立乘法表。在工作表单元格区域B1:K1中输入数字1至10,在A2:A11中也输入数字1至10,然后在单元格区域B2:K11中获得单元格所在...
2009年11月16日 -- 修改数据透视表 (2)
下面,我们来修改在《创建数据透视表》中创建的保险数据透视表。你将会看到当源表中的数据改变时会发生什么,学习如何查看不同类型的数值汇总,还将使用内置的格式功能来修改数据透视表的外观。最后,如果不再需要数据透视表,可以删除它。 改变数据透视表 有时,你会创建数据透视表并且让它保持相同的布局且无须修改字段。每周或每月,你将更新数据,基于数据透视表汇总来查看结果或者分发报表。然而,有一些数据透视...
2011年03月14日 -- Array函数 (0)
可以使用Array函数给数组批量赋值,例如: myArray = Array(1, 2, 3, 4, 5) 语法 Array(元素1,元素2,…,元素n) 其中 元素是赋给数组元素的数据,可为任意的数据类型。 其返回值为由传递给函数的参数组成的变体型数组。 例如: Dim varMyArray varMyArray = Array("张三", "李四", "王五", "赵六...
相关文章推荐
- 关于EXCEL中高级应用---offset在图表中的应用
- TIPTOP ERP 与 Excel交互的编程应用
- 关于C#操作EXCEL,生成图表的全面应用之二(利用Microsoft.Office.Interop.OWC11)
- 基于Mschart的数据库图表应用编程
- pdf图表导出总结,同时可以应用到excel中
- 关于C#操作EXCEL,生成图表的全面应用之一(利用Microsoft.Office.Interop.Excel)【转载】
- 复杂的Excel动态图表应用1
- [转] C#操作EXCEL,生成图表的全面应用
- Excel动态图表应用
- 关于C#操作EXCEL,生成图表的全面应用之一(利用Microsoft.Office.Interop.Excel)
- 关于C#操作EXCEL,生成图表的全面应用之一(利用Microsoft.Office.Interop.Excel) 收藏
- ucos:ucos 应用编程大全
- Excel_VBA_编程教程(完整版)、开发环境、实例、函数大全、SVN、linux及shell学习
- Excel应用-各地GDP的综合对比图表-Part2(平均线图、复合饼图、瀑布图、帕累托图)
- Excel伪动态图表应用
- 使用Excel制作图表的实例教程 Excel图表制作大全
- 阻尼运动算法在界面编程中的应用
- Excel vba中MsgBox 函数详细说明与应用
- RCP编程技巧:Eclipse rcp应用发布后运行时报错java.lang.RuntimeException: 问题的解决
- 在Excel中应用VBA批量导入数据