ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

chenjun版主请进

[复制链接]

TA的精华主题

TA的得分主题

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

上次你告诉我可以利用vba读出图表系列的数据源“数据源理论上是不能读出的,因为不是所有的图表都有数据源的,只能求出每个系列的数据源。”

显示一个工作表中所有嵌入图表的各个系列线的公式。 Sub ListSeriesFormula() Dim ChrOb As ChartObject, Ser As Series For Each ChrOb In ActiveSheet.ChartObjects For Each Ser In ChrOb.Chart.SeriesCollection Debug.Print ChrOb.Name, Ser.Formula Next Ser Next ChrOb End Sub

我也参考了上面的方法,请问如何读取每个系列的数据源,单元格范围?

TA的精华主题

TA的得分主题

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

yYY7o42p.rar (7.8 KB, 下载次数: 13)

谢谢版主,但我还不是很明白,请帮忙看看上面的文件

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-1-6 14:58 | 显示全部楼层
非常感谢版主,写得很清楚,看得很明白。

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-1-6 16:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
感觉版主水平很高,图表方面是绝对高手,不知道懂不懂其他的,比如分类汇总能不能想办法判断出来??

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-1-7 08:26 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
分类汇总的分类字段和汇总方式

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-1-7 08:35 | 显示全部楼层

例子如下:

gogD33xB.rar (6.59 KB, 下载次数: 19)

请版主指点,急!

[此贴子已经被作者于2005-1-7 8:35:04编辑过]

TA的精华主题

TA的得分主题

发表于 2005-1-7 00:24 | 显示全部楼层
注解:代码中地址用Address(external:=True)求是为了让引用区域的工作薄和工作表名称都出现,以免不同的表或薄的相同单元格区域误判为相同引用。 您指的分类汇总是哪个方面的?

TA的精华主题

TA的得分主题

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

Sub testChart() Dim chr As Chart, SerCollection As SeriesCollection, Ser As Series

'设置chr为sheet1表的第1个内嵌图表对象 Set chr = Worksheets("sheet1").ChartObjects(1).Chart

'设置SerCollection为chr图表的所有系列集合对象 Set SerCollection = chr.SeriesCollection

'判断是否为堆积柱形图类型 If chr.ChartType = xlColumnStacked Then MsgBox "图表类型正确" Else MsgBox "图表类型不正确" End If

'******下面分别判断系列的数据源是否是Range("G3:G12"),分类轴是否是Range("B3:B12") For Each Ser In SerCollection '判断每个系列的分类轴标志 If Range(Split(Ser.Formula, ",")(1)).Address(external:=True) = _ Worksheets("sheet1").Range("B3:B12").Address(external:=True) Then MsgBox "系列""" & Ser.Name & """的分类轴标志引用正确" Else MsgBox "系列""" & Ser.Name & """的分类轴标志引用不正确" End If '判断每个系列的值引用 If Range(Split(Ser.Formula, ",")(2)).Address(external:=True) = _ Worksheets("sheet1").Range("G3:G12").Address(external:=True) Then MsgBox "系列""" & Ser.Name & """的值引用正确" Else MsgBox "系列""" & Ser.Name & """的值引用不正确" End If Next Ser End Sub

TA的精华主题

TA的得分主题

发表于 2005-1-4 12:14 | 显示全部楼层
'求出工作表每个嵌入图表每个系列的名称及X、Y值或引用地址 '不能是多区域的引用,否则就要修改Split函数部分来获得 Sub ListSeriesSouce() Dim ChrOb As ChartObject, Ser As Series For Each ChrOb In ActiveSheet.ChartObjects For Each Ser In ChrOb.Chart.SeriesCollection Debug.Print ChrOb.Name,Ser.Name, Split(Ser.Formula, ",")(1), Split(Ser.Formula, ",")(2) Next Ser Next ChrOb End Sub
[此贴子已经被作者于2005-1-4 12:16:14编辑过]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-5 03:10 , Processed in 0.052307 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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