易下载 > 文章中心 > office相关

怎么在PPT中使用控件做动态图表 excel表格搞定动态图表教程分享

作者:佚名 来源:网友投稿 发布时间:2025-11-23 10:48

今天跟大家分享下如何在PPT中使用控件来做动态图表,最近不少学员都问到了类似的问题,做法还是有些复杂,我们看下到底怎么做。

一、 在Excel做动态图

首先我们需要在Excel中先利用控件制作一个动态的图表,通过点击控件图表能发现动态变化,有2个关键的位置

A8:A9这个位置是我们下拉中的内容

C9这单元格是下拉的结果

所有的动态效果,都是根据C9中的值来做变化的,做法我们之前讲过,大家不过可以翻看下之前的文章,或者看下我的课程,就不再赘述了。

二、 准备工作

1. 将图表中的控件删掉,等下会在PPT中重新构建

2. 点击视图找到【网格线】不勾选网格线,让图表更加简洁一些

3. 选择图表所在的单元格区域复制,一定不要直接复制图表,这一点非常重要

4. 下拉控件的内容A8:A9这个区域,以及下拉结果C9位置需要固定

三、 复制到PPT

在Excel表格中粘贴后,我们需要来到PPT中,在左上角点击【开始】找到粘贴,然后在粘贴中找到【选择性粘贴】我们需要在新的窗口中选择【Excel工作表对象】然后点击确定

选择Excel工作表对象,其实就是将整个Excel文件都粘贴到了PPT中,我们用鼠标双击粘贴的形状,就可以显示一个EXCEL的窗口。

四、 设置代码

首先我们需要点击【文件】最下方点击【选项】来调出PPT选项,点击【自定义功能区】,在右侧找到【开发工具】勾选一下,点击确定

随后点击【开发工具】在控件中找到【组合框】,窗体创建后,用鼠标双击组合框,然后复制下方的代码直接做粘贴,代码我们需要修改三处,就是在代码中可修改的区域,需要设置为自己表格的工作表名称,下拉的内容,以及结果单元格的位置

Dim Wb As Object, Sh As Object' ========== 可修改的配置区域 ==========Const DATA_RANGE As String = "A9:A10" ' 组合框数据源区域Const OUTPUT_CELL As String = "C10" ' 结果输出单元格Const SHEET_NAME As String = "演示" ' 工作表名称' =====================================' 初始化组合框Private Sub InitializeComboBox()On Error GoTo ErrorHandler' 获取嵌入的Excel对象Set Wb = GetExcelWorkbook()If Wb Is Nothing Then Exit Sub' 获取工作表Set Sh = Wb.Worksheets(SHEET)' 清空并填充组合框With ComboBox1.Clear' 自动计算数据范围Dim dataRange As ObjectSet dataRange = Sh.Range(DATA_RANGE)Dim cell As ObjectFor Each cell In dataRangeIf Not IsEmpty(cell) Then.AddItem cell.ValueEnd IfNext cell' 设置下拉显示行数If .ListCount > 0 Then.ListRows = .ListCount.ListIndex = 0 ' 选择第一项' 将初始值写入输出单元格Sh.Range(OUTPUT_CELL) = .ValueElseMsgBox DATA_RANGE & "区域没有数据,请检查Excel文件"End IfEnd WithExit SubErrorHandler:MsgBox "初始化组合框时出错: " & Err.Description, vbExclamationEnd Sub' 安全获取Excel工作簿对象Function GetExcelWorkbook() As ObjectOn Error GoTo ExcelErrorDim shp As ShapeFor Each shp In Me.ShapesIf shp.Type = msoEmbeddedOLEObject ThenIf shp.OLEFormat.ProgID Like "*Excel*" ThenSet GetExcelWorkbook = shp.OLEFormat.ObjectExit FunctionEnd IfEnd IfNext shpExcelError:MsgBox "未找到嵌入的Excel对象" & vbCrLf & _"请确保:" & vbCrLf & _"1. 已嵌入Excel对象" & vbCrLf & _"2. 对象未被删除或损坏", vbExclamationSet GetExcelWorkbook = NothingEnd Function' 组合框值改变事件Private Sub ComboBox1_Change()On Error GoTo ChangeError' 确保对象引用有效If Wb Is Nothing ThenSet Wb = GetExcelWorkbook()If Wb Is Nothing Then Exit SubEnd IfIf Sh Is Nothing ThenSet Sh = Wb.Worksheets(SHEET_NAME)End If' 将选择的值写入Excel的输出单元格If ComboBox1.ListIndex >= 0 ThenSh.Range(OUTPUT_CELL) = ComboBox1.ValueEnd IfExit SubChangeError:MsgBox "更新Excel数据时出错: " & Err.Description, vbExclamationEnd Sub' 幻灯片开始放映时初始化Private Sub Slide_ShowBegin()InitializeComboBoxEnd Sub' 可选:点击组合框时确保初始化Private Sub ComboBox1_GotFocus()If ComboBox1.ListCount = 0 ThenInitializeComboBoxEnd IfEnd Sub' 清理资源Private Sub Slide_ShowEnd()Set Sh = NothingSet Wb = NothingEnd Sub

五、 放映

到此为止就设置完毕了,我们只要按下F5键,全屏显示PPT就可以在放映的过程中,通过点击控件,来让图表实现动态的变动,通过这个特性,也可以在PPT中实现类型数据看板的效果,大家有兴趣的可以试一下。

免责声明:根据我国《计算机软件保护条例》第十七条规定:“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24小时之内删除,否则后果均由用户承担责任。如有侵犯您的原创版权请邮件联系处理,我们将尽快删除相关内容。

发表评论

请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关
  • 全部评论(0
    还没有评论,快来抢沙发吧!