仿苹果滑动开关的动态图表

刘万祥ExcelPro
刘万祥ExcelPro
刘万祥ExcelPro
17
文章
0
评论
2020-04-1709:05:00 评论 150 974字
摘要

只需一点点 VBA,DIY 出苹果 IOS 风格的开关控件,制作充满小创意的动态图表。

学员朋友发给我这样一张图表,咨询这个仿苹果风格的滑动开关控件是否可以实现。

仿苹果滑动开关的动态图表

从例图看,这个开关控件似乎是二选一的功能,相当于两个单选按钮控件。实际在苹果IOS的界面中,这个开关通常是有 ON、OFF 两个选项,相当于复选框控件。

日常工作中,Excel 的常规窗体控件已经够用。如果学有余力还想拥有个性化,可以自己 DIY 这种开关,会给人一点新意的感觉,但需要一点点 vba 知识。建议学完《让你的图表动起来》课程中传统窗体控件动态图表做法,希望更追求个性化的朋友,可以尝试本帖的做法,否则还是先学习和运用该课程的传统做法。

我们的做法是用形状来绘制开关,给它们赋予宏代码,根据用户点击操作,记下开关状态,同时改变开关的外观。为求动画的逼真,可以使用循环来移动开关按钮的位置。下图是实现的效果。

仿苹果滑动开关的动态图表

仿苹果滑动开关的动态图表

这个 DIY 模拟的开关控件,相当于一个复选框,它的选择结果记录在一个单元格,驱动动图表变化。关于动态图表的做法,我们已经在《让你的图表动起来》课程里系统整理过,这里不再介绍,本帖仅介绍如何 DIY 这个开关控件。

1.先用形状绘制一个椭圆矩形框和圆圈,分别命名为 backshape 和 Button,准备一个单元格命名为 Switch,用户操作后的结果将记录在这个单元格。

2.插入一个模块,编写如下的宏代码。

仿苹果滑动开关的动态图表

宏代码所执行的操作是:

如果状态是开,那么将状态置为 FALSE 关,将椭圆矩形框设置为灰色填充,文字为 OFF,右对齐,向左循环微移圆圈位置;

如果状态是关,那么将状态置为 TRUE 开,将椭圆拖延矩形框设置为绿色填充,文字为 ON,左对齐,向右循环微移圆圈位置;

这些代码其实我也不会写(不记得),是通过录制宏代码后修改得来的,关键是我们要有这个思路。其中 for 循环产生滑动开关的动画效果。

3.给椭圆矩形框和圆圈都指定这个宏代码。

现在,测试点击开关,单元格 Switch 的值将在 TRUE 和FALSE 之间变化,这就相当于复选框控件了。

4.根据数据源和这个开关结果,组织数据制作动态图表。

具体动态图表做法参见《让你的图表动起来》课程,不再细述。这里我们做的例子是打开开关后显示平均线,你可以有各种动态图表形式,如:

仿苹果滑动开关的动态图表

仿苹果滑动开关的动态图表

形状的格式化能力是无限的,有了这个思路和做法,所以你实际可以 DIY 出各种苹果风格的开关控件,比如:

仿苹果滑动开关的动态图表

仿苹果滑动开关的动态图表

End.作者:刘万祥ExcelPro来源:微博本文均已和作者授权,如转载请与作者联系。

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: