付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7章图表对象操作Excel还可以创建各种不同类型的图表。数据是图表的基础,而图表则可以更加直观的显ExcelVBA中,同样给图表提供多种属性和事件。在本章中,将详细讲解如何使用VBA代码编辑图表。VBA代码创建各种类型的图表。在本小节中,将详细讲解如何使用VBA创建图表。案例 ,Ad表达式.Add(Before,After,Count, 提示:如果Before和After两者提示:如果Before和After两者都被省略,新建的图表工作表将插入到活动工作表之前 PlotBy:指定数据绘制方式。可使用常量xlColumns(数据系列在行中)和xlRows(数要设置图表的内容,用户需要熟悉关于图表的属性。其常见的属性如表7.1所示。7.1Chart对象的常用属或xlRows某公司统计了该公司、、、和重庆地区的四个季度的销量数据,根据该数据,用户需要用VBA代码创建图表工作表,其中原始数据如图7.1所示。7.1原始数SubCreatCharts()SubCreatCharts()Withcht.ChartType=.HasTitle=EndWithEnd7.2创建图表工作137创建嵌入式图表ChartObjectChartObject对象都代表一个嵌入图表。ChartObjectChart对象的容器。ChartObject对象的属性和方法控制工作表通过ChartObjects集合的Add方法,可向集合中添加嵌入式图表。其语法格式如下:表达式.Add(Left,Top,Width,Height) 某公司统计了该公司、、、和重庆地区的四个季度的销量数据,根据该数据,用户需要用VBA代码创建嵌入式图表,其中原始数据如图7.3所示。7.3原始数Sub OnErrorResumeOnErrorGoToWith.Left,.Top,.Width,.Height)EndWithWith.Name=With.ChartType= EndWithEndSub7.4创建嵌入式图表,执行Delete方法时将出现错误,所以需使用错误捕捉语句获取错误。接着使用ChartObjectsAdd方法添加一个嵌入式图表,最后设置图表对象的相关属性。案例 以通过VBA代码实现该功能。ExcelVBA中,用户可ChartLocation方法,可改变图表的放置位置。 Where:用来设置图表移动的目标位置。可设置为xlLocationAsNewSheet(将图表移)xlLocationAsObject()或xlLocationAutomatic(Excel控制图表位置)三个常量之一。Name:如果Where为xlLocationAsObject,则该参数为必选参数。如果Where为xlLocationAsObject,则该参数为嵌入该图表的工作表的名称。如果Where为某公司统计了该公司、、、和重庆地区的四个季度的销量数据,根据该数据,用户需要用VBA代码确定图表的不同位置,其中原始数据如图7.5所示。7.5原始数SubDimchtAsChartObjectOnSubDimchtAsChartObjectOnErrorResumeNextSetcht=IfchtIsNothingThenExit,"EndDimchtAsDimchtoAsChartObjectOnErrorResumeNextSetchtCharts("销量数据图IfchtIsNothingThenExitSetchto=ActiveSheet.ChartObjects(1)WithRange("A10:F20")chto.Top=.Topchto.Left=.Leftchto.Width=.WidthEndEnd7.6嵌入图表转图表7.7图表工作表转嵌案例 小节中,将结合具体的例子来演示如何使用VBA删除图表。据该数据,用户需要用VBA代码演示如何删除图表,其中原始数据如图7.8所示。7.8原始数SubDimSubDimchtAsForEachchtInActiveSheet.ChartObjectsIfMsgBox("删除图表?vbQuestionvbYesNo删除图表vbYesThenEndEnd7.9删除第一个图7.11删除第二7.12删除图表后的工作中,将结合具体的例子来讲解如何使用VBA设置图表的属性。案例 varname包含用户定义类型变量之外的任何变量。TypeName函数的返回值为一某公司统计了该公司、、、和重庆地区的四个季度的销量数据,根VBA判断图表工作表,其中原始数据如图7.13所示。SubCheckChartForm()DimiAsIntegerForSubCheckChartForm()DimiAsIntegerFori=1ToActiveWorkbook.Sheets.CountIfTypeName(Sheets(i))="Chart"ThenEnd7.14运行程序结用For循环检测各个工作表的类型。案例 Excel图表中,网格线是一个重要的工具。为图表添加合适的网格线,用户可以方ExcelVBAAxis.HasMajorGridlines属性和Axis.HasMinorGridlines属性。其中,Axis.HasMajorGridline属性用来设置图表的主要网格 Axis对象的变量。Axis.HasMinorGridlines属性用来设置图表的次要 某公司统计了该公司、、、和重庆地区的四个季度的销量数据,根表如图7.15所示。DimObjAxisForEachObjAxisInActiveChart.AxesNextEndDimObjAxisForEachObjAxisInActiveChart.AxesObjAxis.HasMajorGridlines=TrueObjAxis.HasMinorGridlines=FalseNextEndDimObjAxisForEachObjAxisInActiveChart.AxesObjAxis.HasMajorGridlines=FalseNextEnd7.16添加所有网格7.17添加主要网格7.18删除所有的网格案例 源,其中原始数据和图表如图7.19所示。7.19SubDimSubDimNewDataAsIfActiveChartIsNothingThenMsgBox没有选中图表!"ExitSubEndSetNewDataApplication.InputBox(prompt:="自定义数据源。Type:=8)ActiveChart.SetSourceDataSource:=NewDataEnd7.20不选中图表运行程7.21选择新的数据7.22修改后的图的数据源区域,最后使用SetSourceData方法为图表设置新的数据源。案例 VBA代码设置图表的各种外观属性,在本例中,将演示如何使用代码在ExcelVBA中,获取对ShadowFormat对象的后,通过该对象的属性就可控制OffsetX属性:以磅为单位返回或设置指定形状的阴影的水平偏移量。正偏移值将阴某公司统计了该公司、、、和重庆地区的四个季度的销量数据,根VBA代码,为原始的图表添加阴影,其中原始数据和图表如图7.23所示。7.23SubSubIfActiveChartIsNothingThenMsgBox没有选择图表!"ExitSubEndWith.Visible=.Blur=.Transparency=.OffsetX=.OffsetY=6EndWithWith.Visible=.Blur=.Transparency=.OffsetX.OffsetX=.OffsetY=3EndWithEnd7.24添加图表的阴IfIfActiveChartIsNothingExitSubEndActiveChart.ChartArea.Shadow=FalseActiveChart.PlotArea.Format.Shadow.Visible=msoFalse案例 用户可以通过VBA代码为图表添加数据。ExcelVBA中,SeriesCollectionSeries对ChartSeriesCollectionSeriesCollection集合。Series对数据点的集合(Points集合。ExcelVBA中,Point对象代表图表系列中的单个数据点。通过该对象可控制图表中数据系列的每一个数据点,如本例使用DataLabel设置数据点的的显示内容。某公司统计了该公司、、、和重庆地区的四个季度的销量数据,根VBA代码,为原始的图表添加阴影,其中原始数据和图表如图7.25所示。7.25 的VBA代码如下Sub显 DimiAsInteger,nAsInteger,serAsIfIfActiveChartIsNothingExitSubEndForEachserInActiveChart.SeriesCollectionser.ApplyDataLabelsType:=xlDataLabelsShowValue,_Fori=1TonEnd7.26查看添加的数多个数据点,内循环完成显示数据的操作。隐藏的VBA代码如下: IfActiveChartIsNothing ExitSubEndForEachserInActiveChart.SeriesCollectionser.HasDataLabels=False案例 Excel中用户可以灵活处理图表对象。而为了在其他程序中显ExcelVBAChartObjectsCopyPicture方法,可将选中图表作为图 .gifmix据该数据,用户创建了对应的图表。现在需要编写VBA代码,将图表转换为保存,如图7.27所示。7.27SubIfActiveChartIsNothingSubIfActiveChartIsNothingThenMsgBox"请选择图表!"ExitSubEndActiveWindow.Visible=FalseEnd7.28运行的结案例 Axes(xlValue):数值某公司统计了该公司、、、和重庆地区的四个季度的销量数据,根7.297.29DimiAsIntegerIfDimiAsIntegerIfActiveChartIsNothingThenMsgBox"请选择图表!"ExitSubEndWith.PlotArea.Format.Fill.ForeColor.RGB=RGB(255,0,255)EndWithEnd7.30设置图表颜案例 ExcelVBA代码设置过Interior对象的属性ColorIndex设置每个数据点的填充颜色。某公司统计了该公司、、、和重庆地区的四个季度的销量数据,根VBA代码,设置图表中数据系列的颜色,原始图表如图7.31所示。7.31DimDimSerAsDimiAsLongDimlColorAsIfActiveChartIsNothingThenMsgBox"请选择图表!"ExitSubEndForEachSerInActiveChart.SeriesCollectionFori=1ToSer.Points.CountiTempColor=Ser.Values(i)CaseIs<400lColor=7CaseIs>=lColor=CaseCaseEndSelectNextiNextEnd7.32按值显示颜案例 的图表类型ChartType属性如表7.2所示。7.2XlChartType的常见取某公司统计了该公司、、、和重庆地区的四个季度的销量数据,根VBA代码,修改图表的类型,原始图表如图7.33所示。7.33SubIfActiveChartIsNothingThenSubIfActiveChartIsNothingThenExitSubEndWith.ChartType=With.Name=.FontStyle=.Size=.Bold=EndWith.HasLegend=.Legend.Position=.HasTitle=EndWithEnd7.34修改图表类案例 用户可以使用VBA设置不同数据系列的图表类型。本例所涉及的主要技术是Series数据序列对象是SeriesCollection集合的成员。SeriesCollectionSeries对象的个数与图例中包含的图例项个数对应。Series需要使用Series对象的子对象Points集合。因为数据序列中单个图形的类型为Point。某公司统计了该公司、、、和重庆地区的上下半年的销量数据,根VBA代码,修改其中数据系列的图表类型,原始图表如图7.35所示。DimSerAsSeriesDimDimSerAsSeriesDimPtAsSer.Type=xlLineSer.Type=xlColumnEnd7.36修改数据系列的图表类的数据序列。折线图、XY散点和图气泡等都属于二维图表类型。3D柱状图、3D饼图和3D气泡图等都属于三维图表类型。案例 和间隔等。用户可以使用VBA设置坐标轴的属性。Chart.Axes(Type[,AxisGroup]) 7.3XlAxisType枚举值132某公司统计了该公司、、、和重庆地区的上下半年的销量数据,根VBA代码,修改原始图表中的坐标轴苏醒,原始图表如图7.37所示。SubSetAxies()DimAxsAsSubSetAxies()DimAxsAsAxisSetAxs=.Axes(xlValue)With.HasTitle=="EndWithSetAxs=.Axes(xlCategory)WithAxs.HasTitle==".TickLabels.Orientation=xlVerticalEndWithSetAxs=.Axes(xlValue,2)WithAxs.HasTitle==".HasMajorGridlines=True.Color=RGB(0,255,EndWithEndEnd7.38修改数据系列的图表类Excel对象类似,图表也有对应的事件。使用这些图表事件,用户以编写针对案例 某公司统计了该公司、、、和重
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 军转干公共基础知识(公文写作与处理)模拟试卷7(题后含答案及解析)
- 人教版九年级物理下册期末试卷(及参考答案)
- 护理查对制度专项考核试题题库及答案
- 国际注册内部审计师(CIA)资格考试(内部审计实务)模拟题库及答案(黑龙江省2026年)
- 阜新市注册营养师考试专业知识题库及答案(2026年)
- 计算机图形学 课件 第4章观察
- 2026注册营养技师考试(专业知识)综合试题及答案(云南省)
- 大连长兴岛经济技术开发区第二初级中学项目环境影响报告表
- 2026年一级造价工程师职业资格考试(建设工程技术与计量、安装工程)模拟试题及答案(吕梁)
- 2026年湖南省高职单招综合素质考试题库及答案
- 2026浙江丽江市古城区市场监督管理局招聘编外人员2人考试备考试题及答案详解
- 2026浙江省高校毕业生“三支一扶”计划招募300人参考题库【A卷】附答案详解
- 2026北京市大兴区旧宫镇人民政府面向社会招聘劳务派遣17人笔试参考试题及答案详解
- (2026版)《中华人民共和国药品管理法实施条例》培训课件
- 外研版三起小学六年级下册英语Module10复习整合教学设计
- 政法委执法督查工作制度
- 2025年三级安全教育试卷(矿山)及答案
- 物业安全隐患排查整改清单
- 人教版九年级化学上册教材课后习题参考答案
- 2025年邮政四级副干部竞聘笔试考试题及答案
- 酒店出品部考核制度
评论
0/150
提交评论