vba实现自动创建excel图表

vba实现自动创建excel图表

ID:21787806

大小:30.50 KB

页数:8页

时间:2018-10-24

vba实现自动创建excel图表_第1页
vba实现自动创建excel图表_第2页
vba实现自动创建excel图表_第3页
vba实现自动创建excel图表_第4页
vba实现自动创建excel图表_第5页
资源描述:

《vba实现自动创建excel图表》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、VBA实现自动创建Excel图表  Excel是一个集数据处理和图表绘制于一身的优秀软件。根据工作表的数据,利用“图表向导”可以方便快捷地绘制图表。但是当需绘制的图表数量较多时,“图表向导”的绘图方式就不那么“可爱”了。本文通过对Excel的二次开发,用ExcelVBA编程实现了折线图的自动绘制。对本程序稍作修改,可用于绘制其它类型的图表。  【关键词】ExcelVBA自动创建图表折线图  1引言  Excel是一个集数据处理和图表绘制于一身的优秀软件。运用Excel的“图表向导”来绘制图表也不算麻烦。但是,如果要绘制的图表数量很多,用“

2、图表向导”的绘图方式来绘制图表,就不是一件令人愉快的事了。  本校老师在参与《国家重点基础研究发展计划――973计划子课题――湖南省酸雨污染现状、成因及控制对策研究》项目的数据处理工作中,需要绘制湖南省十四个地市及全省pH均值和九种要求的离子(SO42-、NO3-、NH4+、Ca2+、F-、Cl-、Mg2+、Na+、K+)的离子浓度均值及[SO42-]/[NO3-]、[SO42-]/[ΣA-]、[NO3-]/[ΣA-]、([SO42-]+[NO3-])/[ΣA-]、[Ca2+]/[NH4+]、[[Ca2+]/[ΣB+]、[NH4+]/[Σ

3、B+]、[ΣA-]/[ΣB+]十年数据的逐年、逐季、逐月的变化折线图。对于这种相同数据结构的大量图表绘制,用“图表向导”来一张张绘制显然是令人生畏的,而使用ExcelVBA对Excel的作图功能进行二次开发,将可大大提高工作效率。  2ExcelVBA创建图表常用的方法  ExcelVBA是利用Chart对象来创建图表的。Chart对象和Charts对象集最常用的方法和属性有:  2.1Add()方法  Charts对象集的Add()方法用于向图表集合中添加新的图表对象。例:  Setmychart=charts.Add  表示在活动图表

4、之前插入一个新的图表,并将返回值保存在mychart对象变量中,以便需要时通过该变量来访问该图表。  2.2Location()方法  Add()方法创建的图表只存在于内存,要在工作表中看到新创建的图表,必须指定图表的显示位置。Location()方法即是指定新创建的图表的插入位置的。其语法如下:  Chart.Location(Where,Name)  Where用于指定图表的插入位置:xlLocationAsNewSheet指定新图表作为新工作表插入工作簿中,此时Name为新工作表的名称(可省略);xlLocationAsObject

5、指定新创建的图表作为图像元素插入到工作表中,此时Name为要插入的工作表的名称。  2.3SetSourceData()方法  SetSourceData()方法用来指定作图的源数据区域。其语法为:  Chrat.SetSourceData(Source,PlotBy)  其中,source用于指定数据源,可将Range对象传说递给该参数。PlotBy用于指定数据绘制方法,如果传递系统常量xlColumns则表示数据在列上生成(系列产生在列);如果传递系统常量xLRows,则表示数据在行上生成(系列产生在行)。  SetSourceDat

6、a()方法虽然能很方便地指定数据源,但该方法不可以接受分散的单元格区域作为图表的数据源。当需要灵活地操纵图表的数据源时,需使用SeriesCollection()方法。  2.4SeriesCollection()方法  SeriesCollection是Series对象的集合对象。Series对象表示图表中的一个系列。系列是一个图表中用于比较的一组数据,SeriesCollection即是保存这些系列的集合。系列在不同的图表中有不同的含义。在折线图中,每条线即是一个系列,雷达图中每个区域即是一个系列,饼图只有一个系列。  Series对

7、象中常用的属性有Name、Values和XValues。其中Name?傩员硎靖孟盗械拿?称,会在图表的图例区域显示出来;Values属性表示该系列的实际值,用于确定图表中图形位置的形状;XValues属性表示该系列的横坐标值,传统在图表的横坐标上显示出来。  Values和XValues属性必须用Range对象来指定,不可指定为变量的值。如:  Chrat.SeriesCollection(1).values=Rang(“B1:B5”)  Chrat.SeriesCollection(1).Xvalues=Rang(“A1:A5”)  S

8、eriesCollection()方法可以自由地控制图表中所有的显示数据,通过它,程序可以自由地操纵图表抽需的每一个数据,因此比SetSourceData()方法更为灵活。  2.5Axes(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。