ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 9308|回复: 33

[求助]画图

[复制链接]

TA的精华主题

TA的得分主题

发表于 2004-12-28 15:57 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

像图中那样

把左侧的四列数据源画到折线图里面

每一个SC*画一个图,用VBA怎么实现呀

各位帮帮忙

UMxhBntr.rar (7.37 KB, 下载次数: 58)

[此贴子已经被作者于2004-12-30 16:13:41编辑过]

[原创]画图

[原创]画图

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-12-30 16:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

忘记传数据了,已经补上

怎样才能成批出图啊,大家帮帮忙

TA的精华主题

TA的得分主题

发表于 2004-12-30 16:40 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-12-31 08:27 | 显示全部楼层

多谢

不过请问哪一部分是控制表格的数据源?

Set CrtSource = Cells(i + 1, 1).Resize(Cells(i, 2), 2) SeriesName = Cells(i, 1) Charts.Add

这个么,如何添加两条折线啊,我不懂VBA,版主帮忙说明一下

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-1-4 21:09 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-1-4 21:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
参见下帖以明白哪些代码是加入新新列的。 http://club.excelhome.net/viewth ... D=365480&skin=1
[此贴子已经被作者于2005-1-4 21:17:28编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-1-5 20:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

先谢过版主了

With NewSer '下面设置添加系列的参数 .XValues = ws.Range("B9:M9") '分类(X)轴标志 .Values = ws.Range("B12:M12") '值 .Name = ws.Range("A12") '系列名称 对于xy散点图如何设置数据源啊

版主有没有其他变动图表的例子,多谢

TA的精华主题

TA的得分主题

发表于 2005-1-5 22:40 | 显示全部楼层
一样的,在With NewSer.............End With之间 .Xvalues设置X轴的引用区域 .Values设置Y轴的引用区域

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-1-10 11:23 | 显示全部楼层

弄了好几天,还是没有头绪

.XValues = ws.Range("B9:M9")

.Values = ws.Range("B12:M12")

变动引用区域如何解决,resize???

斑竹救救急啊

TA的精华主题

TA的得分主题

发表于 2005-1-11 00:16 | 显示全部楼层

看看下面的代码:

Sub InsertCharts() Dim sh As Worksheet, chObj As ChartObject, chtRng As Range, NewSer As Series Dim chtTitle As Range, SerX As Range, SerY As Range '关闭屏幕刷新 Application.ScreenUpdating = False '设置sh为Sheet1 Set sh = Worksheets("Sheet1") '删除Sheet1已有的所有图表(如果有的话) If sh.ChartObjects.Count > 0 Then sh.ChartObjects.Delete '设置第1个图表标题的引用区域 Set chtTitle = sh.Range("A1") '下面进行循环 Do '设置图表第1个系列线的X和Y值引用区域 Set SerX = chtTitle.Offset(1, 0).Resize(chtTitle.Offset(0, 1), 1) Set SerY = SerX.Offset(0, 1) '设置图表的放置区域 Set chtRng = chtTitle.Offset(0, 4).Resize(10, 6) '插入一个空的内嵌的图表在chtRng区域用Add(左边位置,顶部位置,宽度,高度) Set chObj = sh.ChartObjects.Add(chtRng.Left, chtRng.Top, chtRng.Width, chtRng.Height) With chObj.Chart '设置图表类型为XY折线散点图 .ChartType = xlXYScatterLines '给图表添加一个新系列 Set NewSer = .SeriesCollection.NewSeries With NewSer .XValues = SerX '设置X值引用 .Values = SerY '设置Y值引用 .Name = "挖槽" '设置系列名称用于图例 End With '设置第2个系列的X和Y值引用区域 Set SerX = chtTitle.Offset(1, 2).Resize(chtTitle.Offset(0, 3), 1) Set SerY = SerX.Offset(0, 1) '给图表添加第2个系列 Set NewSer = .SeriesCollection.NewSeries With NewSer .XValues = SerX '设置X值引用 .Values = SerY '设置Y值引用 .Name = "天然" '设置系列名称用于图例 End With '设置图表标题 .HasTitle = True .ChartTitle.Caption = chtTitle '设置图例放置位置在底部 .HasLegend = True .Legend.Position = xlLegendPositionBottom End With '设置下一个图表的标题引用单元格 Set chtTitle = chtTitle.Offset(1 + chtTitle.Offset(0, 1), 0) '当下一个chtTitle引用单元格有效时循环 Loop While chtTitle Like "c.s*" MsgBox "完成任务了!" & vbCrLf & "您达到了目的," & vbCrLf & _ "别忘了要到club.excelhome.net解答别人的问题。" & vbCrLf & vbCrLf & _ "chenjun" & vbCrLf & _ Format(Now, "yyyy.mm.dd h:mm:ss") '释放所有的对象变量 Set sh = Nothing Set chObj = Nothing Set chtRng = Nothing Set NewSer = Nothing Set chtTitle = Nothing Set SerX = Nothing Set SerY = Nothing '打开屏幕刷新 Application.ScreenUpdating = True End Sub

[此贴子已经被作者于2005-1-11 0:29:26编辑过]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-22 08:09 , Processed in 0.047404 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表