Excel表格动态图表制作方法
时间:2026-08-13 | 作者:深海捕梦者 | 阅读:0wexcel表格怎么制作动态图表
一、 在Excel做动态图
首先,我们需要在Excel中先利用控件制作一个动态的图表。通过点击控件图表能发现动态变化,有2个关键的位置。
A8:A9这个位置是我们下拉中的内容。
C9这单元格是下拉的结果。
所有的动态效果,都是根据C9中的值来做变化的。做法我们之前讲过,大家不过可以翻看下之前的文章,或者看下我的课程,就不再赘述了。
二、 准备工作
- 将图表中的控件删掉,等下会在PPT中重新构建。
- 点击视图找到【网格线】不勾选网格线,让图表更加简洁一些。
- 选择图表所在的单元格区域复制,一定不要直接复制图表,这一点非常重要。
- 下拉控件的内容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 Object
Set dataRange = Sh.Range(DATA_RANGE)
Dim cell As Object
For Each cell In dataRange
If Not IsEmpty(cell) Then
.AddItem cell.Value
End If
Next cell
' 设置下拉显示行数
If .ListCount > 0 Then
.ListRows = .ListCount
.ListIndex = 0 ' 选择第一项
' 将初始值写入输出单元格
Sh.Range(OUTPUT_CELL) = .Value
Else
MsgBox DATA_RANGE & "区域没有数据,请检查Excel文件"
End If
End With
Exit Sub
ErrorHandler:
MsgBox "初始化组合框时出错: " & Err.Description, vbExclamation
End Sub
' 安全获取Excel工作簿对象
Function GetExcelWorkbook() As Object
On Error GoTo ExcelError
Dim shp As Shape
For Each shp In Me.Shapes
If shp.Type = msoEmbeddedOLEObject Then
If shp.OLEFormat.ProgID Like "*Excel*" Then
Set GetExcelWorkbook = shp.OLEFormat.Object
Exit Function
End If
End If
Next shp
ExcelError:
MsgBox "未找到嵌入的Excel对象" & vbCrLf & _
"请确保:" & vbCrLf & _
"1. 已嵌入Excel对象" & vbCrLf & _
"2. 对象未被删除或损坏", vbExclamation
Set GetExcelWorkbook = Nothing
End Function
' 组合框值改变事件
Private Sub ComboBox1_Change()
On Error GoTo ChangeError
' 确保对象引用有效
If Wb Is Nothing Then
Set Wb = GetExcelWorkbook()
If Wb Is Nothing Then Exit Sub
End If
If Sh Is Nothing Then
Set Sh = Wb.Worksheets(SHEET_NAME)
End If
' 将选择的值写入Excel的输出单元格
If ComboBox1.ListIndex >= 0 Then
Sh.Range(OUTPUT_CELL) = ComboBox1.Value
End If
Exit Sub
ChangeError:
MsgBox "更新Excel数据时出错: " & Err.Description, vbExclamation
End Sub
' 幻灯片开始放映时初始化
Private Sub Slide_ShowBegin()
InitializeComboBox
End Sub
' 可选:点击组合框时确保初始化
Private Sub ComboBox1_GotFocus()
If ComboBox1.ListCount = 0 Then
InitializeComboBox
End If
End Sub
' 清理资源
Private Sub Slide_ShowEnd()
Set Sh = Nothing
Set Wb = Nothing
End Sub
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- Pandas 解析 Excel 时 MemoryError 的成因与优化办法
- 时间:2026-08-25
-
- Excel 2007免费下载安装教程 详细步骤指南
- 时间:2026-08-23
-
- Excel 2010插图库使用教程与技巧详解
- 时间:2026-08-23
-
- 通过 C# 拆分 Excel 工作表
- 时间:2026-08-23
-
- Excel如何快速设置百分比格式快捷键操作指南
- 时间:2026-08-23
-
- Excel粘贴快捷键:Ctrl+V与选择性粘贴操作详解
- 时间:2026-08-23
-
- Excel 如何快速选中所有从属单元格
- 时间:2026-08-23
-
- Excel VLOOKUP函数实现区间查找的详细步骤与技巧
- 时间:2026-08-23
精选合集
更多大家都在玩
大家都在看
更多-
- 闪烁之光法师及坦克符文推荐
- 时间:2026-10-21
-
- 闪烁之光三灵系玩法解析
- 时间:2026-10-21
-
- 闪烁之光高速爆发流攻略
- 时间:2026-10-21
-
- 闪烁之光食魇天马和金羽鸾适配场景
- 时间:2026-10-21
-
- 闪烁之光永恒纪元钟效果解析
- 时间:2026-10-21
-
- 闪烁之光神装选择思路
- 时间:2026-10-21
-
- PS怎么用魔棒抠图
- 时间:2026-10-21
-
- OBS Studio怎么设置音频输入源
- 时间:2026-10-21



