外链代发包收录,纯手工外链代发就找老客外链吧

站长新闻

您的位置:老客外链吧 > 站长新闻 > IT >

PPT报告可视化,也来玩动态图表

文章来源:老客SEO 作者:老客SEO 人气:19 时间2019-11-10 14:28:49

我们用Excel做图表时,都会习惯做成动态图表,这样既避免了图表堆砌,也提升了交互体验感!

在Excel中,动态图表的常见做法有两种:切片器+透视图控件+普通图表,方法①简单快捷,方法②个性灵活。我们推荐在制作分析模板时,优先使用方法②,以便实现更灵活、业务化的展示需求,例如下图的Excel控件动态图表:

PPT报告可视化,也来玩动态图表|附教程

20个店铺,你并不需要做20张图表,一个组合框控件+一张图就解决了问题!这是非常实用酷炫的处理方法!

那么如此实用、酷炫的动态图表,如果能实现在PPT中去演示,在开会的时候show一下,那可就完美了~

这当然也可以实现!下图就是演示效果:

PPT报告可视化,也来玩动态图表|附教程

当你在会议中汇报工作时,演示出以上的效果,20个店铺只在一页PPT中即可完美呈现!想想老板和同事惊呆了的眼神,肯定会让你收获满满的成就感

如果是用切片器做的动态透视图,是没办法在PPT中演示的;用控件做动态图表,就可以实现在PPT中去演示!

以下讲解实现的步骤:

1、先在 Excel 里做好动态图表

这个是常规做法,这里就不展开讲解。用户的选择结果记录在 dashboard 工作表的 A1 单元格,这是动态图表的驱动引擎。

2、将包含动态图表的 Excel 文件嵌入到 PPT

复制 Excel 文件里放置图表的单元格区域(注意是图表后面的单元格区域,不是图表本身),在 PPT 里新开一页,选择性粘贴 - 工作表对象,这样,就把那个 Excel 文件“嵌入”到这个 PPT 里了。

3、在 PPT 里插入组合框

在 PPT 里,开发工具 - 控件,插入一个组合框。如果你的 PPT 没有 开发工具,请先在 文件 - 选项 - 自定义功能区 里调出来。

但这个下拉框,PPT 并没有提供地方让你指定下拉选择项和保存选择结果的位置,怎么办?这里是难点了,接下来我们需要使用VBA代码从 Excel 里读出选择项列表,赋给下拉框。

4、在PPT中写入代码

这个需要使用VBA代码来实现后续的事情了。在 PPT 里按下 Alt+F11 键来到 VBE 窗口,这个和 Excel 里是一样的。左侧选中 slide1 或 slide2 这样的对象(前面有个 PPT 的小图标),在右侧代码区输入如下的代码:(代码在文末提供,大家可以直接复制即可)

PPT报告可视化,也来玩动态图表|附教程

绿色箭头所指的位置,需要根据步骤1中Excel的动态图表控件配置内容,进行数据源、链接单元格的配置。

这段代码所做的事情,就是在每次 PPT 放映、下拉框被选中的时候,就去打开那个嵌入在 PPT 里的 Excel 文件,读取其中工作表的 B2:B21范围,把这些选择项赋给下拉框。当你进行下拉选择时,代码会执行把你选择的结果写入工作表的Q2单元格,以驱动图表变化。

5、放映 PPT 测试动态图表

现在,激动人心的时刻就要来到了!放映PPT,鼠标点击下拉框,可能会看到赋值的一下闪动,这时下拉框可能只有1行,再点一下下拉框,就可以完全展开了(这应该是个小bug)。选择某个选择项,右侧的图表就可以实现动态切换了!没错,就是如下图的效果:

6、保存 PPT 文件

保存文件时会提示含有宏,选择保存为后缀名为 .pptm 带宏格式的文件。下次打开时会有宏提示,选择启用宏即可。

PPT报告可视化,也来玩动态图表|附教程

7、以后的数据更新

Excel 嵌入 PPT 里后,那个单独的 Excel 文件就不需要了,所以你应该确认在 Excel 模型做完善了之后再嵌入。以后需要更新数据时,应该更新 PPT 里的嵌入对象。不要直接双击打开,这样窗口太小,不方便操作。要在嵌入对象上 右键 - 工作表对象 - 打开,这样会打开一个大的 Excel 窗口供你编辑,这样会更方便。

总结

有些同学可能觉得太复杂,有7个步骤,但其实只要你在Excel里做好动态图表后,后面的动作熟练操作后1分钟不到即可完成,因为代码我已帮大家写好了,直接复制粘贴修改即可使用~

PPT中可以完美支持演示所有的Excel图表,甚至在PPT中直接也可以做动态图表,当然还是要借助VBA代码来实现,不过也并不难,如果大家有兴趣学习更多的进阶Excel动态图表、PPT动态图表知识,欢迎加入《数说》会员,你可以学习到以下的全部内容!

课程内容丰富,贴近实际工作场景,性价比超高,适合所有职场人士学习以提升数据分析能力(戳下方图片进入课程介绍,点文末的“阅读原文”可领优惠券)

最后附上PPT动态图表的代码,可直接复制,祝大家玩得愉快~


Dim Sh As Object, ListRngPrivate Sub ComboBox1_GotFocusSet Sh = Me.Shapes(1).OLEFormat. _Object.ActiveSheetListRng = _ _ Sh.Range("B2:B21") '←←双引号内,填写【控件的数据源区域】With ComboBox1For i = 1 To UBound(ListRng).AddItem ListRng(i, 1)Next i: End WithMe.ComboBox1.Text = "请选择"ComboBox1.ListRows = _UBound(ListRng): End SubPrivate Sub ComboBox1_Click'''''''''''''''''''下方双引号内,填写控件【链接的单元格】'''''''''''''''''''''''''''↓↓↓↓↓↓'''''''''''''''''''' Sh.Range("Q2") _ _= ComboBox1.ListIndex _+ 1: End SubPrivate Sub ComboBox1_LostFocusSet Sh = Nothing: ComboBox1.Clear: End Sub

联系我们

在线服务 外链咨询 二维码

扫码添加微信:juxia_com