位置:首页 > 行业软件 > Excel表格动态图表制作方法

Excel表格动态图表制作方法

时间:2026-08-13  |  作者:深海捕梦者  |  阅读:0

wexcel表格怎么制作动态图表

一、 在Excel做动态图

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

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

C9这单元格是下拉的结果。

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

Excel表格动态图表制作方法_wishdown.com

二、 准备工作

  • 将图表中的控件删掉,等下会在PPT中重新构建。
  • 点击视图找到【网格线】不勾选网格线,让图表更加简洁一些。
  • 选择图表所在的单元格区域复制,一定不要直接复制图表,这一点非常重要。
  • 下拉控件的内容A8:A9这个区域,以及下拉结果C9位置需要固定。

Excel表格动态图表制作方法_wishdown.com

三、 复制到PPT

将数据粘贴到Excel后,切回PPT界面。点击左上角的【开始】选项卡,展开“粘贴”菜单,选择【选择性粘贴】。

在弹出的窗口中,务必选中【Excel工作表对象】,最后点击确定即可完成操作。

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

Excel表格动态图表制作方法_wishdown.com

四、 设置代码

首先我们需要点击【文件】最下方点击【选项】来调出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

Excel表格动态图表制作方法_wishdown.com

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多