ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 用VBA绘制可变区域的折线图,怎么实现

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-10-8 16:00 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 zhujiayi1991 于 2016-10-10 15:03 编辑

  用vba将一个excel拆分成多个Excel文件,同时各个excel根据表中数据生成折线图,因为每张表区域不同,所以选择区域用一下这句出来图是空的 未命名图片.png
下面是录制的宏,没有报错,问题应该出现在标示出来的红色字体部分。  ActiveChart.SetSourceData Source:=Range("A23:H" & [H65536].End(xlUp).Row)
  1.    ActiveSheet.Shapes.AddChart.Select
  2.     ActiveChart.ChartType = xlLine
  3.     ActiveChart.SeriesCollection.NewSeries
  4.     ActiveChart.SeriesCollection(1).Name = "=Sheet4!$A$24"
  5.     ActiveChart.SeriesCollection(1).Values = "=Sheet4!$B$24:$H$24"
  6.     ActiveChart.SeriesCollection(1).XValues = "=Sheet4!$B$23:$H$23"
  7.    ActiveChart.SetSourceData Source:=Range("A23:H" & [H65536].End(xlUp).Row)
  8.     ActiveWindow.SmallScroll Down:=-105
  9.     ActiveChart.Legend.Select
  10.     Selection.Delete
  11.     ActiveChart.Shapes.AddTextbox(msoTextOrientationHorizontal, 141.75, _
  12.         16.8750393701, 78, 18.75).Select
  13.     Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "BF调整结果"
  14.     Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 6).ParagraphFormat. _
  15.         FirstLineIndent = 0
  16.     With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 2).Font
  17.         .NameComplexScript = "+mn-cs"
  18.         .NameFarEast = "+mn-ea"
  19.         .Size = 11
  20.         .Name = "+mn-lt"
  21.     End With
  22.     With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(3, 4).Font
  23.         .NameComplexScript = "+mn-cs"
  24.         .NameFarEast = "+mn-ea"
  25.         .Size = 11
  26.         .Name = "+mn-lt"
  27.     End With
复制代码

想要的得到的图
未命名图片.png






Z191_BF.rar

102.19 KB, 下载次数: 20

TA的精华主题

TA的得分主题

发表于 2016-10-8 16:06 | 显示全部楼层
ActiveChart.SetSourceData Source:=Range("$A$23:$H" & "$" & [H65536].End(xlUp).Row)

TA的精华主题

TA的得分主题

发表于 2016-10-8 16:11 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-10-8 16:19 | 显示全部楼层
CC例例 发表于 2016-10-8 16:06
ActiveChart.SetSourceData Source:=Range("$A$23:$H" & "$" & [H65536].End(xlUp).Row)

改了 还是一样啊、

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-10-8 16:19 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2016-10-8 16:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
zhujiayi1991 发表于 2016-10-8 16:19
改了 还是一样啊、

Range前面加上工作表名称。如:Sheet1

TA的精华主题

TA的得分主题

发表于 2016-10-8 16:40 | 显示全部楼层

上面几句代码里面就用的绝对引用啊
ActiveChart.SetSourceData Source:=Sheet4.Range("$A$23:$H" & [H65536].End(xlUp).Row)

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-10-8 16:43 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-10-8 16:44 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
lsc900707 发表于 2016-10-8 16:40
上面几句代码里面就用的绝对引用啊
ActiveChart.SetSourceData Source:=Sheet4.Range("$A$23:$H" & [H65 ...

提示要求对象

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-10-8 16:46 | 显示全部楼层
一个主excel拆分出来成多个excel,然后每个excel根据数据做出折线图,所以每张表的行数会不一样。。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-6-3 06:12 , Processed in 0.038615 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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