前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用于处理图表&图形的VBA代码大全1

用于处理图表&图形的VBA代码大全1

作者头像
fanjy
发布2023-08-29 21:13:09
5090
发布2023-08-29 21:13:09
举报
文章被收录于专栏:完美Excel

标签:VBA

图表和图形是Excel最好的功能之一,它们非常灵活,可以用来进行一些非常高级的可视化。本文可以作为在Excel中使用VBA绘制图表的指南。

本文中的代码示例演示了使用VBA处理最常见的图表选项,很好地利用这些代码,自动创建和修改图表。

注意,在Excel 2013中,对图表引擎和文档对象模型进行了许多更改,例如AddChart2方法取代了AddChart方法。因此,本文中提供的一些代码可能无法用于Excel 2013之前的版本。

Chart对象、图表和图表工作表

在Excel的对象层次模型中,许多东西存在于许多地方。例如,图表可以是工作表中的嵌入式图表,也可以是单独的图表工作表。

1.在工作表本身,可以找到图表对象。每个图表对象(ChartObject)中都有一个图表。实际上,ChartObject是一个包含图表的容器。

2.图表也是一个独立的工作表,它周围没有图表对象(ChartObject)。

要更改图表标题文本,将以不同的方式引用两种类型的图表:

1.工作表中的图表:

代码语言:javascript
复制
Sheets(“Sheet1”).ChartObjects(“Chart 1”).Chart.ChartTitle.Text = “我的图表标题”

2.图表工作表

代码语言:javascript
复制
Sheets(“Chart 1”).ChartTitle.Text = “我的图表标题”

编写代码以处理任一图表类型

如果想编写能够处理任何图表的代码,可以通过创建一个包含对图表的引用的变量来实现。

创建一个引用ChartObject内的图表的变量:

代码语言:javascript
复制
Dim cht As Chart
Set cht = Sheets("Sheet1").ChartObjects("Chart 1").Chart

创建一个引用工作表内图表的变量:

代码语言:javascript
复制
Dim cht As Chart
Set cht = Sheets("Chart 1")

现在,可以通过使用cht引用图表来为图表工作表或ChartObject中的图表编写VBA代码:

代码语言:javascript
复制
cht.ChartTitle.Text = "我的图表标题"

从空白图表创建图表

代码语言:javascript
复制
Sub CreateChart()
 Dim rng As Range
 Dim cht As Object
 '创建空白图表
 Set cht = ActiveSheet.Shapes.AddChart2
 '对图表声明数据单元格区域
 Set rng = ActiveSheet.Range("A2:B9")
 '添加数据到图表
 cht.Chart.SetSourceData Source:=rng
 '设置图表类型
 cht.Chart.ChartType = xlColumnClustered
End Sub

引用工作表中的图表

活动图表:

代码语言:javascript
复制
Dim cht As Chart
Set cht = ActiveChart

指定名称的图表:

代码语言:javascript
复制
Dim cht As Chart
Set cht = Sheets("Sheet1").ChartObjects("Chart 1").Chart

通过数字序号:

代码语言:javascript
复制
Dim cht As Chart
Set cht = Sheets("Sheet1").ChartObjects(1).Chart

其中,1是第一个被创建的图表,2是第二个被创建的图表,依此类推。

遍历工作簿中的所有图表工作表

代码语言:javascript
复制
Dim cht As Chart
For Each cht In ActiveWorkbook.Charts
 Call AnotherMacro(cht)
Next cht

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档