欢迎来到天天文库
浏览记录
ID:57650134
大小:249.50 KB
页数:18页
时间:2020-08-30
《Excel图标编程实例.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Excel图表编程应用大全(2):图表编程基础嵌入式图表和图表工作表图表在工作表中有两种存在方式:·嵌入式图表与工作表的数据在一起,或者与其他的嵌入式图表在一起。·图表工作表是特定的工作表,只包含单独的图表。(1)嵌入式图表当希望图表作为工作表的一部分,与数据或其他图表在一起时,嵌入式图表是最好的选择。Chart对象代表每一个嵌入式图表,包含在ChartObject对象里。每个Excel工作表都有一个ChartObjects集合,包含工作表中每个嵌入式图表。为了在工作表中添加新的嵌入式图表,在集合中添加ChartObj
2、ect对象,其语法为:WorksheetObject.ChartObjects.Add(Left,Top,Width,Height)其中,参数Left和参数Top指定图表左上角的位置,参数Width和参数Height指定图表尺寸。所有4个参数都以磅为单位。该方法返回对新创建的ChartObject对象的引用,使用Chart属性引用所包含的图表。例如:DimcoAsChartObjectDimchAsChartSetco=Worksheets("Sheet1").ChartObjects.Add(50,50,250,16
3、5)Setch=co.Chart执行上述代码后,在工作表Sheet1中放置一个新的空嵌入式图表,使用变量ch来引用该图表。(2)图表工作表当希望图表显示最大尺寸,而且不会妨碍数据或其他图表时,使用图表工作表。Chart对象代表图表工作表。与嵌入式图表不同,不需要ChartObject对象,因为图表工作表的位置是固定的,其尺寸取决于工作表的尺寸。每个工作簿都有一个Charts集合,包含该工作簿中的所有图表工作表。注意,工作簿的Charts集合不会引用嵌入式图表,仅仅是图表工作表。相反,工作表的ChartObjects集合
4、仅仅引用嵌入式图表。要添加新的图表工作表,使用Add方法:Charts.Add该方法返回对新图表的引用。下面的代码在活动工作簿中添加新的图表工作表,并且包含对新图表的引用:DimchAsChartSetch=ActiveWorkbook.Charts.Add执行上述代码后,使用变量ch操控图表。Chart对象以下图所示的工作表为例,简要介绍Chart对象及其应用。要指定图表数据,需要调用Chart对象的SetSourceData方法。语法为:SetSourceData(Source,PlotBy)其中,参数Source
5、是包含数据的工作表区域,可以通过行列标识符或者名称来指定该参数值。参数PlotBy是一个常量,指定数据系列是行区域(xlRows)还是列区域(xlColumns)。如上图所示的工作表,设置图表源数据的代码如下:ch.SetSourceDataSource:=Worksheets("Sheet1").Range("B3:F6"),PlotBy:=xlRows假设ch引用Chart对象。下面的过程基于上图工作表数据创建一个嵌入式图表:SubCreateEmbeddedChart()DimcoAsChartObjectDim
6、chAsChart Setco=Worksheets("Sheet1").ChartObjects.Add(50,100,250,165)Setch=co.Chartch.SetSourceDataSource:=Worksheets("Sheet1").Range("B3:F6"),PlotBy:=xlRowsEndSub说明:·图表中自动添加了数据系列和类别标签。·在水平轴中绘制类别;垂直轴中绘制数值。·自动创建图表图例,以识别数据系列。·图表的垂直轴根据数据值自动缩放。·在没有指定图表类型时,默认使用簇状柱形图。
7、生成的图表如下图所示。下面,来指定图表的类型。Chart对象的ChartType属性控制图表的类型,并且Excel提供了一组预定义常量指定该属性。每个常量不仅指定基本类型(例如条形图、柱状图或折线图),而且也指定每种类型的子类型,包括图表是否作为二维或三维显示。下表列出了一些经常使用的类型。常量说明xlBar条形图xlLine折线图xlArea面积图xlPie饼图xlColumn柱状图xlPyramid棱锥图下面的示例代码演示了如何设置图表类型,使用了上图工作表的数据,指定带标记的折线图。SubCreateChartS
8、heet()DimchAsChart Setch=ActiveWorkbook.Charts.Addch.SetSourceDataSource:=Worksheets("Sheet1").Range("B3:F6"),PlotBy:=xlRowsch.ChartType=xlLineMarkersEndSub生成的图表如下图所示
此文档下载收益归作者所有