ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 根据条件引用数据动态显示曲线图

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-11-30 10:41 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
根据多条件在数据源表里面查找符合条件的数据动态显示曲线图,请大侠帮忙

求助.zip

8.95 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2019-11-30 12:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  1. Sub Charting_Click()
  2. Dim vntD, I&, N&, C&, dblS#()
  3. vntD = Worksheets("数据源").UsedRange
  4. For I = 3 To UBound(vntD, 2)
  5.     If vntD(1, I) = [C3] Then N = I: Exit For
  6. Next
  7. For I = 2 To UBound(vntD)
  8.     If vntD(I, 1) = [C1] Then
  9.         If vntD(I, 2) = [C2] Then
  10.             ReDim Preserve dblS(C)
  11.             dblS(C) = vntD(I, N)
  12.             C = C + 1
  13.         End If
  14.     End If
  15. Next
  16. Worksheets("查询表").ChartObjects("图表 3").Chart.SeriesCollection(1).Values = dblS()
  17. End Sub
复制代码


加一段代码实现动态

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-11-30 12:37 | 显示全部楼层
上个附件吧。

20191130-动态图表.7z

17.64 KB, 下载次数: 12

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-12-2 09:49 | 显示全部楼层

Sub Charting_Click()
2.Dim vntD, I&, N&, C&, dblS#()
3.vntD = Worksheets("数据源").UsedRange
4.For I = 3 To UBound(vntD, 2)
5.    If vntD(1, I) = [C3] Then N = I: Exit For
6.Next
7.For I = 2 To UBound(vntD)
8.    If vntD(I, 1) = [C1] Then
9.        If vntD(I, 2) = [C2] Then
10.            ReDim Preserve dblS(C)
11.            dblS(C) = vntD(I, N)
12.            C = C + 1
13.        End If
14.    End If
15.Next
16.Worksheets("查询表").ChartObjects("图表 3").Chart.SeriesCollection(1).Values = dblS()
17.End Sub

16句出错了?

TA的精华主题

TA的得分主题

发表于 2019-12-2 11:34 | 显示全部楼层
我是2016版,而且 shapes.chart.seriescollection 对象也是向上兼容的,应该没问题。
把括号去掉?

  1. Worksheets("查询表").ChartObjects("图表 3").Chart.SeriesCollection(1).Values = dblS
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-12-4 09:41 来自手机 | 显示全部楼层
Datous 发表于 2019-12-2 11:34
我是2016版,而且 shapes.chart.seriescollection 对象也是向上兼容的,应该没问题。
把括号去掉?

你好,换台电脑可从了。谢谢。
再请教下,如果再增加条件要什么加,我刚才在IF   vntD(I,2)=[C2]Then下面增加IF   vntD(I,3)=[C4]Then会出现Next没有For错误提示,这个要什么办?
如果条件为空就出现错误,能不能某个条件为空就跳过该条件(当作没有这个条件处理)。
帮忙再看下,感谢大侠。

TA的精华主题

TA的得分主题

发表于 2019-12-4 11:26 | 显示全部楼层
ptjtlt260 发表于 2019-12-4 09:41
你好,换台电脑可从了。谢谢。
再请教下,如果再增加条件要什么加,我刚才在IF   vntD(I,2)=[C2]Then下 ...

If(boolean_expression) Then
   Statement 1
   .....
   Statement n
ElseIf (boolean_expression) Then
   Statement 1
   .....
   ....
   Statement n
Else
   Statement 1
   .....
    Statement n
End If

这是 IF 语句的语法,有 IF ,就得有 ENDIF

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-12-4 13:12 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Datous 发表于 2019-12-4 11:26
If(boolean_expression) Then
   Statement 1
   .....

是我没看好,增加条件的可以了,谢谢。
那其中有一个条件为空的就出现错误,能不能条件为空的跳过去当作没这个条件继续执行其他条件呢?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-19 23:03 , Processed in 0.053805 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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