每次在我介绍完 Excel 动态图表的做法之后,就会有人问到:“这个动态图表能不能放到 PPT 里面演示呢?”
有的朋友甚至直接把 Excel 里的动态图表区域复制粘贴到 PPT 里,期望 PPT 里也能有动态效果,结果当然可想而知,这是不行滴:)
要在 PPT 里实现可以交互演示的动态图表(不是动画图表哦),可以有以下几种方法来实现:
1. PPT VBA 编程
2. Xcelsius 水晶易表
3. PowerBI/Tableau 仪表板网页嵌入PPT
4. PPT 链接跳转模拟
5. PPT 链接回 Excel 演示
其实我最推荐采用第5种,PPT 链接回 Excel 演示的方法,也就是在 Excel 里做好动态图表后,在 PPT 里放一张界面截图,链接回这个 Excel 文件。放映 PPT 时点击截图,就可以直接打开链接的 Excel 文件进行动态演示。这样做法最简单省事,效果也可以,Ctrl+Shift+F1 切换到全屏演示更佳。
不过,大家更有兴趣的是学会第1种做法,希望在 PPT 里使用下拉框来做,感觉来得更酷。尽管我并不太推荐这种做法,因为性价比不高,也不是未来方向,不过本帖还是做个介绍。
如果你在 PPT 里插入一个下拉框,你会发现 PPT 没有提供地方让你去指定下拉框的选择项和存放选择结果的位置,所以之前在 Excel 里的做法在这里行不通。
那该怎样做呢?这个做法很难找到资料可以参考,几乎是块空白。好在我之前写《用地图说话》的时候,曾琢磨过如何在 PPT 里演示点击地图选择的动态图表,琢磨出一种做法,现在就和大家分享。
作图思路
这种做法的思路是,先在 Excel 里做好动态图表模型,然后将这个 Excel 文件“嵌入”到 PPT 里。再在 PPT 里添加一个下拉框,通过 VBA 宏来操作下拉框和嵌入的 Excel,来实现图表的动态切换。完成后的效果是这样的。
制作步骤
1、制作 Excel 里的动态图表模型。
这个是常规做法,这里就不讲解。用户的选择结果记录在 dashboard 工作表的 A1 单元格,这是动态图表的驱动引擎。
2、将包含动态图表的 Excel 文件嵌入到 PPT。
复制 Excel 文件里放置图表的单元格区域(注意是图表后面的单元格区域,不是图表本身),在 PPT 里新开一页,选择性粘贴 - 工作表对象,这样,就把那个 Excel 文件“嵌入”到这个 PPT 里了。
3、在 PPT 里插入下拉框对象。
在 PPT 里,开发工具 - 控件,插入一个下拉框(学名叫组合框)。如果你的 PPT 没有 开发工具,请先在 文件 - 选项 - 自定义功能区 里调出来。
但这个下拉框,PPT 并没有提供地方让你指定下拉选择项和保存选择结果的位置,怎么办?这里是难点了,接下来我们需要使用宏代码从 Excel 里读出选择项列表,赋给下拉框。
4、给下拉框添加选择项。
这个需要使用宏代码来添加。并且,宏代码需要放在下拉框的 Got_Focus(获得焦点)事件里,因为每次关掉 PPT 后它都会消失,需要重新赋值。
在 PPT 里按下 Alt+F11 键来到 VBE 窗口,这个和 Excel 里是一样的。左侧选中 slide1 或 slide2 这样的对象(前面有个 PPT 的小图标),在右侧代码区输入如下的代码:
这段代码所做的事情,就是在每次 PPT 放映、下拉框被选择的时候,就去打开那个嵌入在 PPT 里的 Excel 文件,读取其中 dashboard 工作表的 A5:A17 范围,把这些选择项赋给下拉框。
小白需要注意,以上代码并非直接复制到你的 PPT 就可以使用,需要修改对象名称匹配才行,比如 ComboBox1、Shapes(1)等。
5、写下拉框被选择后的动作。
在上一过程的下面,继续写用户选择下拉框后的动作。
当用户下拉选择时,组合框的 change 事件就会被触发,执行这段代码,将下拉框的选择结果填写到嵌入的 Excel 文件的 dashboard 工作表的 A1 单元格,驱动模型动态切换图表。
6、写退出 PPT 放映时的动作。
如果 PPT 翻页或者退出放映了,就关闭那个嵌入的 Excel 文件。
7、放映 PPT 测试动态图表。
现在,激动人心的时刻就要来到了!放映PPT,鼠标点击下拉框,可能会看到赋值的一下闪动,这时下拉框可能只有1行,再点一下下拉框,就可以完全展开了(这应该是个小bug)。选择某个选择项,右侧的图表就应该动态切换。
首次选择时可能有点慢,因为在打开那个嵌入的 Excel 文件,后面再选择就完全正常秒级响应了。成功。
8、保存 PPT 文件。
保存文件时会提示含有宏,选择保存为后缀名为 .pptm 带宏格式的文件。下次打开时会有宏提示,选择启用宏即可。
9、以后的数据更新。
Excel 嵌入 PPT 里后,那个单独的 Excel 文件就不需要了,所以你应该确认在 Excel 模型做完善了之后再嵌入。以后需要更新数据时,应该更新 PPT 里的嵌入对象。不要直接双击打开,这样窗口太小,不方便操作。要在嵌入对象上 右键 - 工作表对象 - 打开,这样会打开一个大的 Excel 窗口供你编辑,方便得多。
***
这个做法是有一定难度的,以上文字讲解,我已尽量描述得清晰易懂,可能有的朋友还是会不太明白,那么可以在《经济学人的动态图表与交互设计》课程第12章去看视频讲解,一看就明白了。课程链接:http://study.163.com/u/ExcelPro,或者点击阅读原文。
如果要做那种不用下拉的选择框(学名叫列表框),滚动条,微调按钮等不同控件操作的动态图表,做法基本是一样的,大家应该可以触类旁通。
需要提醒的是,这种做法不是主流做法,也不是未来的方向,只能作为一时之用,但也足够好了。
范例下载
示例的 PPT 源文件,可以在公众号 iamExcelPro 发送消息“PPT”,获得下载地址。
更多精彩
这种做法使用 PPT 的内置控件,但这些控件看起来比较粗糙,不够精美(微软已放弃 VBA 的更新),我不太喜欢。
因此,在《动态图表与交互设计》课程里,我们不使用 PPT 里的控件,而是采用 DIY 的方式,把在 Excel 里制作的“鼠标滑过选项卡选择的动态图表”,完全搬到了 PPT 里,当你在 PPT 放映的状态下,用鼠标在“选项卡”上轻轻滑动,图表就动态切换,同样也有一种灵动之美。wow~
这种效果很不错,关键是毫无痕迹,显得很神奇,很多人会问你是怎么实现的!现在,是你装X的时候了!
甚至,课程第11章,经济学人最经典的中国相当于分析模板,这种包含热力地图的、选项卡交互的动态仪表板,也可以搬到 PPT 里交互演示!wow~wow~ 想象你会获得怎样的惊叹?!
这个做法的复杂度和难度大了点,一般我们就不推荐了,使用 Excel 版本的就够了,课程里的 Excel 版本模板可以直接套用,填入数据即可。
同样说明,这种做法不是主流做法,也不是未来的方向,只能作为一时之用,但也足够好了。
本帖摘自云课堂视频课程《经济学人的动态图表与交互设计》第12.2节,这门课是我们最新上线,抛弃传统的常见控件,采用 Excel DIY 的方式,制作具有经济学人范的动态图表和动态仪表板,鼠标轻轻滑动之际,呈现数据灵动之美~交互方式新颖,交互体验卓越,想学习高级动态图表做法的朋友可以前往了解:http://study.163.com/course/courseMain.htm?courseId=1003226022