Excel是一个集数据处理和图表绘制于一身的优秀软件。运用Excel的“图表向导”来绘制图表也不算麻烦。但是,如果要绘制的图表数量很多,用“图表向导”的绘图方式来绘制图表,就不是一件令人愉快的事了。
2 Excel VBA创建图表常用的方法
Excel VBA是利用Chart对象来创建图表的。Chart对象和Charts对象集最常用的方法和属性有:
2.1 Add()方法
Charts对象集的 Add()方法用于向图表集合中添加新的图表对象。例:
Set mychart = charts.Add
表示在活动图表之前插入一个新的图表,并将返回值保存在mychart对象变量中,以便需要时通过该变量来访问该图表。
2.2 Location()方法
Add()方法创建的图表只存在于内存,要在工作表中看到新创建的图表,必须指定图表的显示位置。Location()方法即是指定新创建的图表的插入位置的。其语法如下:
Chart.Location(Where,Name)
Where用于指定图表的插入位置:xlLocationAsNewSheet指定新图表作为新工作表插入工作簿中,此时Name为新工作表的名称(可省略);xlLocationAsObject指定新创建的图表作为图像元素插入到工作表中,此时Name为要插入的工作表的名称。
2.3 SetSourceData()方法
SetSourceData()方法用来指定作图的源数据区域。其语法为:
Chrat.SetSourceData(Source,PlotBy)
其中,source用于指定数据源,可将Range对象传说递给该参数。PlotBy用于指定数据绘制方法,如果传递系统常量xlColumns则表示数据在列上生成(系列产生在列);如果传递系统常量xLRows,则表示数据在行上生成(系列产生在行)。
SetSourceData()方法虽然能很方便地指定数据源,但该方法不可以接受分散的单元格区域作为图表的数据源。当需要灵活地操纵图表的数据源时,需使用SeriesCollection()方法。
2.4 SeriesCollection()方法
SeriesCollection是Series对象的集合对象。Series对象表示图表中的一个系列。系列是一个图表中用于比较的一组数据,SeriesCollection即是保存这些系列的集合。系列在不同的图表中有不同的含义。在折线图中,每条线即是一个系列,雷达图中每个区域即是一个系列,饼图只有一个系列。
Series对象中常用的属性有Name、Values和XValues。其中Name屬性表示该系列的名称,会在图表的图例区域显示出来;Values属性表示该系列的实际值,用于确定图表中图形位置的形状;XValues属性表示该系列的横坐标值,传统在图表的横坐标上显示出来。
Values和XValues属性必须用Range对象来指定,不可指定为变量的值。如:
Chrat.SeriesCollection(1).values=Rang(“B1:B5”)
Chrat.SeriesCollection(1).Xvalues=Rang(“A1:A5”)
SeriesCollection()方法可以自由地控制图表中所有的显示数据,通过它,程序可以自由地操纵图表抽需的每一个数据,因此比SetSourceData()方法更为灵活。
2.5 Axes()方法
Chart对象的Axes()方法返回图表上单个坐标轴或坐标轴集合的某个对象。该方法的语法如下:
Chart.Axes(Type,AxisGroup)
Type参数用于指定要返回的坐标轴,可以是以下系统常量之一:数值轴—xlValue、分类轴—xlCategory或用于三维图表,表示纵深轴向的xlSeriesAxis。
通过Axes()方法,可以控制图表上坐标轴的相关属性,如坐标轴显示的标题、坐标轴的刻度等。
2.6 ChartType属性
ChartType属性用于指定图表的类型。常用图表类型和ChartType 属性值的对应关系如表1。
网友评论