ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[原创] 动态图表=函数+VBA

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2012-9-24 20:20 | 显示全部楼层 |阅读模式
本帖最后由 佛山小老鼠 于 2012-9-24 20:31 编辑

该贴已经同步到 佛山小老鼠的微博
动态图表=函数+VBA
往往大家做动态图表时,都会想到函数Index和Offset函数来做,没有错,但是你实现之后,每次要用鼠标去点一下,动态图表才会变一下,这个地方我们就用VBA来弥补函数的不足
我现在用一个实例来讲解一下
第一步:在B14单元格输入1
    解释:目的是为了做VBA里的变量的临时值,现在是空的,所以先输入一个值代替,便于大家理解
第二步:在B15单元格输入公式

  1. ="动态图表"&"("&INDEX($A$1:$L$1,1,$B$14)&")"
复制代码
   解释:作为图表的标题,Index第一个参数是一年的十二个月,第二参数是B14,是变量,由VBA代码运行时决定, Range("B14").Value2 = i
三步:在B16单元格输入函数,向下填充公式

  1. =INDEX($A$2:$L$12,ROW(A1),$B$14)
复制代码

   解释:index函数是这个动态图表的核心,图表数据的变化主要由Index函数的第三参数决定,因为第三参数一改变,整个区域都会发生变化,当第三参数是是1时,显示一月份的数据,当第三参数是2时,显示二月份的数据
第四步:
作图和美化图表,作出来如下图
第五步:Alt+F11打开VBE编辑器,插入菜单,插入模块,把代码贴到模块里
Dim i As Integer '定义i为模块级别的变量,不能定义为过程级别的变量,因为过程级别变量当过程结束时,变量作用周期也就结束了
[code=vb]Sub 时长()
Range("B14").Value = i '给单元格B14赋值为变量i
i = i + 1 '累加i
If i > 12 Then '如果i大于12,那么i的值又从1开始
i = 1
End If
Application.OnTime Now + TimeValue("00:00:01"), "时长" 'Ontime事件,每隔1秒又把过程转到“时长”过程,这样起到了循环的作用
End Sub
Sub 停止()
On Error Resume Next '防止程序出错
Application.OnTime Now + TimeValue("00:00:01"), "时长", , False '结事OnTime事件“时长”
End Sub

[/code]
第六步:把“时长”过程指定给“开始按扭”,把“停止”过程指定给“停止按钮”
      解释:Offce按钮(2007版的),EXCEL选项,常规,勾起显示“开发工具”选项卡
然后,开发工具,控件组,插入,表单控件,命令按扭,在工作里画一个,单元右键,指定宏。

99.gif
未命名.jpg

动态图.rar

11.9 KB, 下载次数: 1192

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-9-24 20:26 | 显示全部楼层
老鼠
可以做一个识别音频的
做一个跳舞的

TA的精华主题

TA的得分主题

发表于 2012-9-24 20:47 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-9-25 08:40 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-9-25 09:40 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-9-25 09:12 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
哈哈 谢谢曹老师

TA的精华主题

TA的得分主题

发表于 2012-9-25 09:52 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-10-19 09:29 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-10-19 12:55 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
好方法,真是学习了

TA的精华主题

TA的得分主题

发表于 2012-10-20 14:16 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-25 02:27 , Processed in 0.054685 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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