Excel图表操作.docx

上传人:b****3 文档编号:2225682 上传时间:2022-10-28 格式:DOCX 页数:40 大小:2.52MB
下载 相关 举报
Excel图表操作.docx_第1页
第1页 / 共40页
Excel图表操作.docx_第2页
第2页 / 共40页
Excel图表操作.docx_第3页
第3页 / 共40页
Excel图表操作.docx_第4页
第4页 / 共40页
Excel图表操作.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

Excel图表操作.docx

《Excel图表操作.docx》由会员分享,可在线阅读,更多相关《Excel图表操作.docx(40页珍藏版)》请在冰豆网上搜索。

Excel图表操作.docx

Excel图表操作

 

第7章图表对象操作

在前面的章节中,已经详细讲解了如何利用ExcelVBA处置Excel的数据。

除此之外,Excel还能够创建各类不同类型的图表。

数据是图表的基础,而图表那么能够加倍直观的显示数据。

在ExcelVBA中,一样给图表提供多种属性和事件。

在本章中,将详细讲解如何利用VBA代码编辑图表。

7.1创建图表

在Excel中,用户能够通过向创建所需要的图表类型。

同时,用户在开发进程中,通过VBA代码创建各类类型的图表。

在本末节中,将详细讲解如何利用VBA创建图表。

案例136创建图表工作表

1.功能说明

在ExcelVBA中,用户能够通过VBA代码来创建图表工作表。

同时能够通过VBA代码来定制图表的属性。

2.语法说明

在ExcelVBA中,Charts集合包括工作簿中所有图表工作表的集合。

通过Charts集合的Add方法可向集合中添加新的图表工作表(新建图表工作表),Add方式的语法格式如下:

表达式.Add(Before,After,Count,Type)

该方式的参数都可省略,各参数的含义如下:

•Before:

指定工作表的对象,新建的工作表将置于此工作表之前。

•After:

指定工作表的对象,新建的工作表将置于此工作表以后。

•Count:

要添加的工作表数。

默许值为1。

•Type:

指定要添加的图表类型,可创建的图表类型很多,具体可参考ExcelVBA的帮助信息。

在ExcelVBA中,通过Chart对象的SetSourceData方式,可为指定图表设置源数据区域。

其语法格式如下:

表达式.SetSourceData(Source,PlotBy)

该方式的两个参数含义如下:

 

•Source:

为一个Range对象,用来指定图表的源数据区域。

•PlotBy:

指定数据绘制方式。

可利用常量xlColumns(数据系列在行中)和xlRows(数据系列在列中)之一。

通过Chart对象的ChartTitle属性,可返回ChartTitle对象,该对象表示指定图表的标题。

通过该对象的属性可操纵图表的题目,如设置题目文本、设置题目的格式等。

同时,要设置图表的内容,用户需要熟悉关于图表的属性。

其常见的属性如表7.1所示。

表7.1Chart对象的经常使用属性

名称

意义

BackWall

是一个只读属性,返回Walls对象,该对象允许用户单独对

三维图表的背景墙进行格式设置。

ChartArea

是一个只读属性,返回一个ChartArea对象,该对象表示图表

的整个图表区。

ChartStyle

是一个可读写的Variant型属性,用于返回或设置图表的图表

样式。

可以使用介于1到48之间的数字设置图表样式。

ChartTitle

是一个只读属性,用于返一个ChartTitle对象,表示指定图表

的标题。

ChartType

是一个可读写的XlChartType类型,用于返回或设置图表类

型。

DataTable

是一个只读属性,用于返回一个DataTable对象,表示此图表

的数据表。

HasAxis

是一个可读写的Variant类型属性,用于返回或设置图表上显

示的坐标轴。

HasDataTable

是一个可读写的Boolean型属性,如果图表有数据表,则该

属性值为True。

PlotArea

是一个只读属性,用于返回一个PlotArea对象,表示图表的

绘图区。

PlotBy

是一个Long型可读写,返回或设置行或列在图表中作为数据

系列使用的方式。

可为以下XlRowCol常量之一:

xlColumns或xlRows。

Visible

返回或设置一个XlSheetVisibility值,用于确定对象是否可

见。

Walls

是一个只读属性,返回一个Walls对象,此表示三维图表的

背景墙。

3.案例说明

某公司统计了该公司武汉、北京、上海、深圳和重庆地域的四个季度的销量数据,根据该数据,用户需要用VBA代码创建图表工作表,其中原始数据如图7.1所示。

 

图7.1原始数据

4.编写代码

销量分析图表的VBA代码如下:

SubCreatCharts()DimchtAsChart

Setcht=Charts.AddWithcht

.SetSourceDataSource:

=Sheets("Sheet1").Range("A1:

E6"),PlotBy:

=xlRows

.ChartType=xlColumnClustered

.HasTitle=True

.ChartTitle.Text="销量数据图"EndWith

EndSub

5.运行结果

运行程序代码,查看运行的结果,如图7.2所示。

图7.2创建图表工作表

 

6.程序分析

若是用户对图表的属性不熟悉的时候,能够利用宏功能来创建图表。

查看宏代码中的图表属性和代码。

案例137创建嵌入式图表

1.功能说明

在ExcelVBA中,图表工作表和嵌入式图表是不同的对象。

可是,用户一样能够通过

VBA代码来创建嵌入式图表。

2.语法说明

在ExcelVBA中,嵌入到工作表中的图表对象为ChartObject对象。

ChartObjects集合包括指定工作表上所有的ChartObject对象的集合。

每一个ChartObject对象都代表一个嵌入图表。

ChartObject对象充当Chart对象的容器。

ChartObject对象的属性和方式操纵工作表上嵌入图表的外观和大小。

通过ChartObjects集合的Add方式,可向集合中添加嵌入式图表。

其语法格式如下:

表达式.Add(Left,Top,Width,Height)该方式的4个参数指定嵌入式图表尺寸,别离设置左上角的坐标位置和图表的初始大

小。

利用ChartObjects集合的Delete方式可删除指定工作表的嵌入式图表。

3.案例说明

某公司统计了该公司武汉、北京、上海、深圳和重庆地域的四个季度的销量数据,根据该数据,用户需要用VBA代码创建嵌入式图表,其中原始数据如图7.3所示。

图7.3原始数据

4.编写代码

创建嵌入式图表的VBA代码如下:

SubCreatInsertCharts()

 

DimchtAsChartObjectOnErrorResumeNext

ActiveSheet.ChartObjects.Delete

OnErrorGoTo0

WithRange("A10:

F20")

Setcht=ActiveSheet.ChartObjects.Add(_

.Left,.Top,.Width,.Height)EndWith

Withcht

.Name="SaleChart"

With.Chart

.SetSourceDataSource:

=Sheets("Sheet1").Range("A1:

E6"),PlotBy:

=xlRows

.ChartType=xlColumnClustered

.SetElementmsoElementChartTitleCenteredOverlay

.ChartTitle.Text="销量数据图"EndWith

EndWithEndSub

5.运行结果

运行程序代码,查看运行的结果,如图7.4所示。

 

 

图7.4创建嵌入式图表

6.程序分析

在上面的代码中,第一删除当前工作表中的嵌入图表,若是当前工作表中没有嵌入图表,执行Delete方式时将显现错误,因此需利用错误捕捉语句获取错误。

接着利用ChartObjects集合对象的Add方式添加一个嵌入式图表,最后设置图表对象的相关属性。

案例138确定图表的位置

1.功能说明

在用户利用图表分析和显示数据的时候,常常需要依照需要确信图表的位置。

用户可以通过VBA代码实现该功能。

2.语法说明

在ExcelVBA中,用户能够通过Chart对象的Location方式,可改变图表的放置位置。

该方式的语法格式如下:

表达式.Location(Where,Name)

两个参数的含义如下:

•Where:

用来设置图表移动的目标位置。

可设置为xlLocationAsNewSheet(将图表移动到新工作表)、xlLocationAsObject(将图表嵌入到现有工作表中)或xlLocationAutomatic(Excel操纵图表位置)三个常量之一。

•Name:

若是Where为xlLocationAsObject,那么该参数为必选参数。

若是Where为xlLocationAsObject,则该参数为嵌入该图表的工作表的名称。

如果Where为xlLocationAsNewSheet,那么该参数为新工作表的名称。

3.案例说明

某公司统计了该公司武汉、北京、上海、深圳和重庆地域的四个季度的销量数据,根据该数据,用户需要用VBA代码确信图表的不同位置,其中原始数据如图7.5所示。

图7.5原始数据

 

4.编写代码

(1)嵌入图表转图表工作表的VBA代码如下:

SubChartForm1()

DimchtAsChartObjectOnErrorResumeNext

Setcht=ActiveSheet.ChartObjects

(1)

IfchtIsNothingThenExitSub

cht.Chart.LocationxlLocationAsNewSheet,"销量数据图"

EndSub

(2)图表工作表转嵌入图表的VBA代码如下:

SubChartForm2()DimchtAsChart

DimchtoAsChartObjectOnErrorResumeNext

Setcht=Charts("销量数据图")

IfchtIsNothingThenExitSub

cht.LocationxlLocationAsObject,ActiveSheet.NameSetchto=ActiveSheet.ChartObjects

(1)

WithRange("A10:

F20")chto.Top=.Topchto.Left=.Leftchto.Width=.Widthchto.Height=.Height

EndWith

EndSub

5.运行结果

运行将嵌入图表转图表工作表的程序代码,查看运行的结果,如图7.6所示。

 

图7.6嵌入图表转图表工作表

运行图表工作表转嵌入图表的代码,查看运行的结果,如图7.7所示。

 

图7.7图表工作表转嵌入图表

6.程序分析

在上面第一段代码中,通过工作表的ChartObjects集合返回的是一个ChartObject对象,要改变其位置,需利用该对象的Chart属性返回一个Chart对象,通过Chart对象的Location方式才能改变图表对象的位置。

案例139删除图表

1.功能说明

在Excel

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1