在PPT里演示动态图表

这种做法的思路是,先在 Excel 里做好动态图表模型,然后将这个 Excel 文件“嵌入”到 PPT 里。再在 PPT 里添加一个下拉框,通过 VBA 宏来操作下拉框和嵌入的 Excel,来实现图表的动态切换。完成后的效果是这样的。

制作步骤(过程牵涉到的VBA代码,文末福利贴出来给大家,方便大家复制)

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 窗口供你编辑,方便得多。

觉得怎么样?是不是超级高超!~~这个动态图表+PPT的技术是刘万祥老师独创的。

动态图表还有很多的精髓,想掌握就要系统地进行学习,跟随行业大神就能玩转它!