Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用于处理图表&图形的VBA代码大全2

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

作者头像
fanjy
发布于 2023-08-30 00:07:26
发布于 2023-08-30 00:07:26
51900
代码可运行
举报
文章被收录于专栏:完美Excel完美Excel
运行总次数:0
代码可运行

基本的图表设置

下面的代码以cht开始,假设已经使用上面介绍的代码引用了图表。

改变图表类型:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cht.ChartType = xlArea
cht.ChartType = xlLine
cht.ChartType = xlPie
cht.ChartType = xlColumnClustered
cht.ChartType = xlColumnStacked
cht.ChartType = xlColumnStacked100
cht.ChartType = xlArea
cht.ChartType = xlAreaStacked
cht.ChartType = xlBarClustered
cht.ChartType = xlBarStacked
cht.ChartType = xlBarStacked100

在工作表中创建空白ChartObject:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'创建一个嵌入到工作表中的空图表
Set cht = Sheets("Sheet1").Shapes.AddChart2.Chart

为图表选择数据源:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Dim rng As Range
Set rng = Sheets("Sheet1").Range("A1:B4")
cht.SetSourceData Source:=rng

删除图表对象或图表工作表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
If TypeName(cht.Parent) = "ChartObject" Then
 cht.Parent.Delete
ElseIf TypeName(cht.Parent) = "Workbook" Then
 cht.Delete
End If

改变图表的大小或位置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'设置图表对象的大小/位置-方法1
cht.Parent.Height = 200
cht.Parent.Width = 300
cht.Parent.Left = 20
cht.Parent.Top = 20

'设置图表对象的大小/位置-方法2
chtObj.Height = 200
chtObj.Width = 300
chtObj.Left = 20
chtObj.Top = 20

改变可见单元格设置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'修改设置仅显示可见单元格
cht.PlotVisibleOnly = False

修改柱形/条形间的空间(间隙宽度):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'改变两个条形之间的间隙空间
cht.ChartGroups(1).GapWidth = 50

更改柱形/条形的重叠:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cht.ChartGroups(1).Overlap = 75

移除图表对象的外侧边框:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cht.ChartArea.Format.Line.Visible = msoFalse

改变图表背景颜色:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'设置图表区域填充颜色
cht.ChartArea.Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
'设置图表没有背景颜色
cht.ChartArea.Format.Fill.Visible = msoFalse

图表坐标轴

图表有四个坐标轴:

1. xlValue

2.xlValue, xlSecondary

3.xlCategory

4.xlCategory, xlSecondary

在下面的例子中,这些可以互换使用。为了使代码适应你的特定需求,需要更改括号中引用的图表坐标轴。

所有的代码以cht开始,假设已经使用上面介绍的代码引用了图表。

设置图表坐标轴的最小值和最大值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cht.Axes(xlValue).MaximumScale = 25
cht.Axes(xlValue).MinimumScale = 10
cht.Axes(xlValue).MaximumScaleIsAuto = True
cht.Axes(xlValue).MinimumScaleIsAuto = True

显示或隐藏图表坐标轴:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'显示坐标轴
cht.HasAxis(xlCategory) = True
'隐藏坐标轴
cht.HasAxis(xlValue, xlSecondary) = False

显示或隐藏图表标题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'显示坐标轴标题
cht.Axes(xlCategory, xlSecondary).HasTitle = True
'隐藏坐标轴标题
cht.Axes(xlValue).HasTitle = False

修改图表坐标轴标题文本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cht.Axes(xlCategory).AxisTitle.Text = "我的坐标轴标题"

反转分类轴的顺序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'反转分类轴的顺序
cht.Axes(xlCategory).ReversePlotOrder = True
'设置分类轴为默认顺序
cht.Axes(xlCategory).ReversePlotOrder = False

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
VBA专题09:基本的Excel图表编程代码
图表是数据可视化的一种常用呈现方式,VBA代码可以帮助我们自动化创建图表及对图表进行相关的操作,特别是当工作表中有大量图表需要进行重复修改时,VBA十分有用。
fanjy
2020/02/18
5.1K0
用于处理图表&图形的VBA代码大全1
图表和图形是Excel最好的功能之一,它们非常灵活,可以用来进行一些非常高级的可视化。本文可以作为在Excel中使用VBA绘制图表的指南。
fanjy
2023/08/29
8090
用于处理图表&图形的VBA代码大全1
用于处理图表&图形的VBA代码大全7:一个综合示例
希望通过这篇文章中的所有示例代码,让你能更好地理解在Excel中创建和操作图表的VBA代码,从而能够自由地创建和修改图表。
fanjy
2023/08/30
9710
用于处理图表&图形的VBA代码大全7:一个综合示例
用于处理图表&图形的VBA代码大全4
fanjy
2023/08/30
6950
用于处理图表&图形的VBA代码大全4
用于处理图表&图形的VBA代码大全3
图表标题是在图表顶部的文本。所有的代码以cht开始,假设已经使用上面介绍的代码引用了图表。
fanjy
2023/08/30
4330
用于处理图表&图形的VBA代码大全3
用于处理图表&图形的VBA代码大全6:3个有用的图表宏
fanjy
2023/08/30
4910
用于处理图表&图形的VBA代码大全6:3个有用的图表宏
用于处理图表&图形的VBA代码大全5
误差线最初用于显示某个值的变化(例如最小值/最大值)。然而,它们也常用于高级图表技术中,以创建额外的视觉元素。
fanjy
2023/08/30
3660
用于处理图表&图形的VBA代码大全5
代替VBA!用Python轻松实现Excel编程(文末赠书)
面向Excel数据处理自动化的脚本编程,目前主要有VBA和Python两种语言可供选择。
小F
2023/01/03
6.1K0
代替VBA!用Python轻松实现Excel编程(文末赠书)
EXCEL VBA语句集300
        定制模块行为 (1) Option Explicit ‘强制对模块内所有变量进行声明 Option Private Module ‘标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示  Option Compare Text ‘字符串不区分大小写  Option Base 1 ‘指定数组的第一个下标为1 (2) On Error Resume Next ‘忽略错误继续执行VBA代码,避免出现错误消息 (3) On Error GoTo ErrorHandler ‘当错误发生时跳转到过程中的某个位置 (4) On Error GoTo 0 ‘恢复正常的错误提示 (5) Application.DisplayAlerts=False ‘在程序执行过程中使出现的警告框不显示 (6) Application.ScreenUpdating=False ‘关闭屏幕刷新 Application.ScreenUpdating=True ‘打开屏幕刷新 (7) Application.Enable.CancelKey=xlDisabled ‘禁用Ctrl+Break中止宏运行的功能  工作簿 (8) Workbooks.Add() ‘创建一个新的工作簿 (9) Workbooks(“book1.xls”).Activate ‘激活名为book1的工作簿 (10) ThisWorkbook.Save ‘保存工作簿 (11) ThisWorkbook.close ‘关闭当前工作簿 (12) ActiveWorkbook.Sheets.Count ‘获取活动工作薄中工作表数 (13) ActiveWorkbook.name ‘返回活动工作薄的名称 (14) ThisWorkbook.Name ‘返回当前工作簿名称 ThisWorkbook.FullName ‘返回当前工作簿路径和名称 (15) ActiveWindow.EnableResize=False ‘禁止调整活动工作簿的大小 (16) Application.Window.Arrange xlArrangeStyleTiled ‘将工作簿以平铺方式排列 (17) ActiveWorkbook.WindowState=xlMaximized ‘将当前工作簿最大化  工作表 (18) ActiveSheet.UsedRange.Rows.Count ‘当前工作表中已使用的行数 (19) Rows.Count ‘获取工作表的行数(注:考虑向前兼容性) (20) Sheets(Sheet1).Name= “Sum” ‘将Sheet1命名为Sum (21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) ‘添加一个新工作表在第一工作表前 (22) ActiveSheet.Move After:=ActiveWorkbook. _ Sheets(ActiveWorkbook.Sheets.Count) ‘将当前工作表移至工作表的最后 (23) Worksheets(Array(“sheet1”,”sheet2”)).Select ‘同时选择工作表1和工作表2 (24) Sheets(“sheet1”).Delete或 Sheets(1).Delete ‘删除工作表1 (25) ActiveWorkbook.Sheets(i).Name ‘获取工作表i的名称 (26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines ‘切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮 (27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings ‘切换工作表中的行列边框显示 (28) ActiveSheet.UsedRange.FormatConditions.Delete ‘删除当前工作表中所有的条件格式 (29) Cells.Hyperlinks.Delete ‘取消当前工作表所有超链接 (30) ActiveSheet.PageSetup.Orientation=xlLandscape 或ActiveSheet.PageSetup.Orientation=2 ‘将页面设置更改为横向 (31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页面设置的表尾中输入文件路径 ActiveSheet.PageSetup.Le
Tony老师
2020/03/05
2.2K0
Excel宏教程 (宏的介绍与基本使用)
大家好,又见面了,我是你们的朋友全栈君。 Excel宏教程 (宏的介绍与基本使用) Microsoft excel是一款功能非常强大的电子表格软件。它可以轻松地完成数据的各类数学运算,并用各种二维或三维图形形象地表示出来,从而大大简化了数据的处理工作。但若仅利用excel的常用功能来处理较复杂的数据,可能仍需进行大量的人工操作。但excel的强大远远超过人们的想象–宏的引入使其具有了无限的扩展性,因而可以很好地解决复杂数据的处理问题。 随着支持Windows的应用程序的不断增多和功能的不断增强,越来
全栈程序员站长
2022/08/23
6.9K0
C# 实时折线图,波形图
此Demo是采用VS自带的Chart图表控件,制作实时动态显示的折线图,和波形图。本文仅供学习分享使用,如有不足之处,还请指正。
zls365
2020/08/19
4.4K1
C# 实时折线图,波形图
Chart控件系列教程——c#
Micosoft.Chart.Controls是微软自带的一个图形可视化的组件,可以在Web程序和窗体程序中(Windowsform)中使用。在.NET4.0之后(即VS2010之后)不需要再手动安装,集成在了VS里面,比如我用的VS2017版本,直接在工具箱中点开“ 数据 ”控件,里面就有一个Chart控件,直接拖动到窗体中即可,默认创建一个chart1的实例对象。
vv彭
2021/01/18
3.5K0
VBA专题10-25:使用VBA操控Excel界面之一个示例程序
在前面的一系列主题中,你已经学到了很多小的修改工作簿外观的VBA代码。下面,我们将介绍一个简单的示例程序,实现下面的功能特点:
fanjy
2021/03/26
2.5K0
VBA专题10-25:使用VBA操控Excel界面之一个示例程序
揭秘报表新玩法!标配插件不再单调,如何用柱形图插件让你的报表瞬间高大上!
图表作为一款用于可视化数据的工具,可以帮助我们更好的分析和理解数据,并发现数据之间的关系和趋势。下面以柱形图为例介绍如何使用JavaScript在报表中引入图表。
葡萄城控件
2023/10/11
1980
揭秘报表新玩法!标配插件不再单调,如何用柱形图插件让你的报表瞬间高大上!
VBA实战技巧22:调整XY图表缩放比例以获取正确的宽高比
目标:想要调整XY(散点图)图表,以使两个轴的单位坐标轴值具有相同的比例。也就是说,需要调整图1中的图表,以便成为如图2所示的正方形和圆形。
fanjy
2021/06/01
2.2K0
VBA实战技巧22:调整XY图表缩放比例以获取正确的宽高比
matplotlib常用函数介绍
matplotlib常用函数介绍 1、模块: from matplotlib import animation from matplotlib import pyplot from pylab import mpl from matplotlib import ticker 2、创建子图,定义 fig, ax fig,ax=plt.subplots()# # 创建一个子图,返回一个包含figure和axes对象的元组,将元组分解为fig和ax两个变量 3、创建2维直线图 chart, = pyplot
大家一起学编程
2021/04/17
1K0
【愚公系列】2023年11月 Winform控件专题 Chart控件详解
Winform控件是Windows Forms中的用户界面元素,它们可以用于创建Windows应用程序的各种视觉和交互组件,例如按钮、标签、文本框、下拉列表框、复选框、单选框、进度条等。开发人员可以使用Winform控件来构建用户界面并响应用户的操作行为,从而创建功能强大的桌面应用程序。
愚公搬代码
2023/11/30
3.3K0
Chart控件使用——C#
ChartAreas属性指绘图区,一个控件可以有多个绘图区,比如我要在同一个控件内显示饼图和柱状图,肯定不能放在同一个ChartAreas区域内,应该在同一个Chart控件里增加两个ChartAreas并分别绑定Series对象。所以ChartAreas属性对应的是一个集合。
vv彭
2021/01/18
1.6K0
使Excel图表网格线呈正方形的VBA代码
Excel在缩放图表轴方面做得相当好,但有时你希望它能做得更好。下图1所示的XY散点图显示了一种情况,所有点的X和Y值都在0和7之间,但由于图表本身是矩形的,因此网格线沿X和Y轴的间距不同。如果沿两个轴的间距相同,并提供正方形网格线,不是更好吗?
fanjy
2022/03/07
2.3K0
使Excel图表网格线呈正方形的VBA代码
Vba菜鸟教程[通俗易懂]
官方文档:https://docs.microsoft.com/zh-cn/office/vba/api/overview/language-reference 代码完成后:工具-vbaproject属性-保护-查看时锁定-密码
全栈程序员站长
2022/09/05
17.7K0
Vba菜鸟教程[通俗易懂]
相关推荐
VBA专题09:基本的Excel图表编程代码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验