PPT中动态控制内嵌图表的制作

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

演示PPT中动态控制内嵌图表显示
3.在VBE的Slide对象相应的模块中加入如下代码:
Option Explicit
'声明公共变量
Dim Wb As Object, Sh As Object, SouceRng As Object, TarCell As Object
'当控件获得焦点时运行
Private Sub ComboBox1_GotFocus()
2.退出Excel编辑,在PPT选择“视图》工具栏》控件工具箱”打开“控件工具箱”,在图表所在页插 入一个组合框。
插入“组合框”控件后,按Alt+F11就可以在VBE中看到工程中显示出了一个Slide对象(只有加入 了ActiveX控件后才能在工程资源管理器中出现Slide对象),如图
点击看相关页面
演示PPT中动态控制内嵌图表显示
在excel中可以通过窗体或ActiveX控件达到动态控制图表显示的目的,但当Excel百度文库表作为对象内 嵌到PPT后,在PPT播放模式下,所有在Excel对象中的控件都是不可选的,只能在PPT的编辑模式下 双击对象后在Application.Excel中进行控制。那么怎样才能在PPT播放模式下可以控制插入的Excel图 表动态显示?一个方法是借助PPT中的VBA编程,用PPT中的ActiveX控件(注意在PPT中没有窗体工具 中的控件)控制内嵌的Excel对象中的相关单元格区域,达到动态控制。这里指的ActiveX控件就是在 “视图》工具栏》控件工具箱”中的控件。
Set TarCell = Nothing Set SouceRng = Nothing Set Sh = Nothing Set Wb = Nothing End Sub
‘当控件值改变时运行对内嵌工作薄单元格的改变 Private Sub ComboBox1_Change()
'改变内嵌工作薄中相应单元格的值 TarCell = ComboBox1.Value End Sub
Dim i As Integer
'设置Wb为内嵌的Excel工作薄,Sh为指定工作表,SouceRng和TarCell为指定单元格区域
Set Wb = Me.Shapes(1).OLEFormat.Object 'Me表示正在播放的Slide
Set Sh = Wb.worksheets("sheet1")
演示PPT中动态控制内嵌图表显示
weddsdfs
利润
点击返回
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
一月
二月
三月
四月
五月
六月
七月
八月
九月
十月
十一月
十二月
演示PPT中动态控制内嵌图表显示
谢谢观看! 供大家参考。
Set SouceRng = Sh.Range("B1:D1")
Set TarCell = Sh.Range("F1")
With ComboBox1 '先清除列表 If .ListCount > 0 Then .ListIndex = -1 For i = .ListCount - 1 To 0 Step -1 .RemoveItem i Next i End If '加入列表项
下面介绍具体的步骤:
1.在PPT的编辑模式下需要插入图表的页面中用“插入》对象》Microsoft Excel图表”插入一个内嵌 的Excel图表,编辑数据及图表(最好是用一个图表工作表显示图表),用一个工作表中的单元格放入数 据作为控制图表显示的单元格(这个只是为了方便理解,其实用VBA不要辅助单元格也可以直接改变 图表数据引用的)。
提示:使用后期绑定,所以可以不在VBE 的“工具》引用”中对Excel库进行引用。 这是考虑对不同Office版本的通用性,如果 可以确定版本,还是先引用Excel库,再用 先期绑定好,编程中有自动对象列表,运 行速度和稳定性也要高。
For i = 1 To SouceRng.Count
.AddItem SouceRng.offset(0, i - 1).Range("A1")
Next i
'选择第一项
.ListIndex = 0
'修改TarCell单元格中的值
TarCell = .Value
End With
End Sub
演示PPT中动态控制内嵌图表显示
4.在VBE的Slide对象相应的模块中再加入如下代码:
‘当控件失去焦点时运行释放对象变量 Private Sub ComboBox1_LostFocus()
相关文档
最新文档