您好,欢迎访问三七文档
图表常用属性ActiveChart属性ChartType属性Axis.MajorUnit属性返回或设置图表数值轴的主要单位Legend属性返回一个Legend对象,该对象表示指定图表的图例ChartTitle属性返回一个ChartTitle对象,该对象表示指定图表的标题图表对象常用方法Shapes.AddChart方法ChartObject.Add方法Charts.Add方法创建插入式工作表图表SetSourceData方法Axes方法返回一个图表上的单个坐标轴或坐标轴集合对象ChartObject.Activate方法13.2创建图表例13.7创建一个工作簿,在工作簿中输入某校部分系别和招生人数,创建二维柱状图表并建制宏例13.8生成随机数所,创建点折线图13.3操作图表1.使用对象变量引用图表、图表元素、图表工作表是操作图表的最好方式。2.图表的构成上级对象图表区ChartArea,是图表所有其它元素容器Chart绘图区PlotAreaChart坐标轴Axis对象(代表单个坐标轴),是Axes集合的一个成员Chart图例系列Series对象,是SeriesCollection集合的一个成员Chart标题数据标志3.操作图表最常见的工作是修改格式(边框、填充颜色、图案、坐标轴)、图表字体设置、修改标题、图例、数据标签等4.绘图区二维包含数据标志、网格线、数据标签、趋势线和可选的置于图表区内的图表项三维还有背景墙、基底、坐标轴、坐标轴标题、刻度线标签例13.9激活名为”Chart1”的图表工作表,给图表区设置虚线边框、给绘图区设置点线边框例13.10设置绘图区大小和位置5.数据系列引用数据系列:Charts(“Chart1”).SeriesCollection(index)例13.11在图表上添加一个老师系列例13.12清除数据系列6.图表轴二维有X和Y轴,分别称为分类轴、数值轴例13.13为”Chart1”的图表工作表设置分类轴的标题文本例13.14使用setAx过程,创建图表并设置数据轴的数字格式为0.00例13.15用VBA创建一个嵌入式折线散点图表Sub例13_1()WithWorksheets(1).ChartObjects(1).ChartIf.ChartType=xlBubble3DEffectThen.ChartGroups(1).BubbleScale=15EndIfEndWithEndSubSub例13_2()WithCharts(Chart1).Axes(xlValue).MajorUnit=10.MinorUnit=0.1EndWithCharts(Chart1).HasLegend=TrueCharts(Chart1).Legend.Font.ColorIndex=10EndSubSub例13_3()WithCharts(Chart1).HasTitle=True.ChartTitle.Text=第一季度销售EndWithEndSubSub例13_4()Range(A10:B14).SelectActiveSheet.Shapes.AddChart.Select'添加图表同时选中,设置数据源ActiveChart.SetSourceDataSource:=Range(sheet1!$A$10:$A$14),PlotBy:=xlColumnsActiveChart.ChartType=xlCylinderColStacked'设置图表类型为堆积柱形圆锥型EndSubSub数据源()Debug.PrintSheets.CountCharts(1).SetSourceDataSource:=Sheets(sheet2).Range(A1:A5),PlotBy:=xlColumns'Charts(1).SetSourceDataSource:=Sheets(sheet2).Range(A1:A5),PlotBy:=xlRowsEndSubSub例13_5()WithCharts(chart1).Axes(xlCategory).HasTitle=True.AxisTitle.Text=JulySales'设置轴标签.HasMajorGridlines=True'设置主要网格线EndWithEndSubSub例13_6()ForEachaInCharts(chart1).Axesa.HasMajorGridlines=Falsea.HasMinorGridlines=FalseNextaEndSubSub例13_8()Dimvalues(1To20)AsSingleDimiAsIntegerRandomize'初始化随机数生成器,以产生不同的随机数Fori=1ToUBound(values)values(i)=Rnd*100Nextimakegraphvalues,'调用makegraph过程EndSubPublicSubmakegraph(values()AsSingle,ByValtitleAsString,ByValx_labelAsString,ByValy_labelAsString)DimmybookAsWorkbookDimlastsheetAsWorksheetDimnewsheetAsWorksheetDimiAsIntegerDimnewcharAsChartDimchartshapeAsShapeSetmybook=Application.ActiveWorkbookSetlastsheet=mybook.Sheets(mybook.Sheets.Count)Setnewsheet=mybook.Sheets.Add(after:=lastsheet)newsheet.Name=NewChartFori=1ToUBound(values)'把数组值写入新建的工作表中newsheet.Cells(i,1)=values(i)NextiSetNewChart=Charts.Add()ActiveChart.ChartType=xlLineMarkersActiveChart.SetSourceData_Source:=newsheet.Range(A1:A&UBound(values)),_PlotBy:=xlColumnsActiveChart.Locationwhere:=xlLocationAsObject,Name:=newchart'把活动图表移动到新的位置WithActiveChart'设置轴标签IfLen(title)=0Then.HasTitle=False'设置轴或图表标题不可见Else.HasTitle=True'设置轴或图表标题可见.ChartTitle.Characters.Text=titleEndIfIfLen(x_label)=0Then.Axes(xlCategory,xlPrimary).HasTitle=False'坐标轴显示类别,主坐标轴标题不可见Else.Axes(xlCategory,xlPrimary).HasTitle=True.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text=x_label'坐标轴显示类别,主坐标轴标题设为x_labelEndIfIfLen(y_label)=0Then.Axes(xlValue,xlPrimary).HasTitle=False'坐标轴显示类别,主坐标轴标题不可见Else.Axes(xlValue,xlPrimary).HasTitle=True.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text=y_label'坐标轴显示类别,主坐标轴标题设为y_labelEndIfEndWithSetchartshape=newsheet.Shapes(newsheet.Shapes.Count)'设置变量引用为所创建的图表Withchartshape.ScaleWidth1.31,msoFalse,msoScaleFromBottomRight.ScaleHeight1.47,msoFalse,msoScaleFromBottomRight.ScaleWidth1.18,msoFalse,msoScaleFromTopLeft.ScaleHeight1.11,msoFalse,msoScaleFromTopLeftEndWithEndSubSub例13_9()Charts(chart1).ActivateWithActiveChart.ChartArea.Border.LineStyle=xlDash.PlotArea.Border.LineStyle=xlDotEndWithEndSubSub例13_10()DimgraphareaAsPlotAreaActiveChart.ChartArea.SelectSetgrapharea=ActiveChart.PlotAreaWithgrapharea.Top=100.Left=100.Height=200.Width=300EndWithEndSubSubmychart()''mychart宏'ActiveSheet.Shapes.AddChart.SelectActiveChart.ChartType=xlColumnClusteredActiveChart.SetSourceDataSource:=Range(Sheet6!$A$1:$B$6)ActiveChart.Axes(xlValue).SelectActiveChart.Axes(xlValue).MajorUnit=10ActiveChart.Axes(xlValue).MajorUnit=20EndSubSubdeleteseries()''deleteseries宏'ActiveChart.SeriesCollection(3).DeleteEndSubSubaddseries()''addseries宏'ActiveSheet.ChartObjects(图表1).ActivateActiveChart.SeriesCollection.NewSeriesActiveChart.SeriesCollection(2).Name==Sheet6!$C$1ActiveChart.SeriesCollection(2).values==Sheet6!$C$2:$C$6EndSubSubaddseries修改()ActiveSheet.ChartObjects(图表1).ActivateWithActiveChart.SeriesCollection.NewSeries.Name=ActiveSheet.Range(C1).values=ActiveSheet.Range(C2:C6).XValues=ActiveSheet.Range(A2:A6)EndWithEndSubSubaddseries修改2()Sheets(sheet6).Names.AddName:=教师人数,RefersTo:==sheet6!$C$2:$C$6ActiveSheet.ChartObjects(图表1).ActivateWithActiveChart.SeriesCollection.NewSeries.Name=教师人数.values==sheet6!教师人数.XValues=Array(电子信息,计算机,通信工程,信息安全,行政管理)EndWithEndSubSubaddseries修改3()'使用变量引用数据系列对象DimnewserAsSeriesSetnewser=ActiveChart.SeriesCollection.NewSeriesWithnewser.Name=教师人数.values==sheet6!教师人数.XValues=Array(电子信息,计算机,通信工程,信息安全,行政管理)E
本文标题:图表对象
链接地址:https://www.777doc.com/doc-3119962 .html