商城首页欢迎来到中国正版软件门户

您的位置:首页 >excel表格怎么制作动态图表

excel表格怎么制作动态图表

  发布于2026-08-10 阅读(0)

扫一扫,手机访问

wexcel表格怎么制作动态图表

一、 在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

本文转载于:https://soft.3dmgame.com/gl/15039.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注