欢迎来到天天文库
浏览记录
ID:62050501
大小:68.00 KB
页数:3页
时间:2021-04-16
《宏中内嵌Excel的动态图表.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、个人收集整理勿做商业用途PPT宏中内嵌Excel的动态图表在excel中可以通过窗体或ActiveX控件达到动态控制图表显示的目的,但当Excel图表作为对象内嵌到PPT后,在PPT播放模式下,所有在Excel对象中的控件都是不可选的,只能在PPT的编辑模式下双击对象后在Application.Excel中进行控制。那么怎样才能在PPT播放模式下可以控制插入的Excel图表动态显示?一个方法是借助PPT中的VBA编程,用PPT中的ActiveX控件(注意在PPT中没有窗体工具中的控件)控制内嵌的Excel对象中的相关单元格区域,达到动态控制。 这里指的ActiveX控件就是在“视图→工具栏→
2、控件工具箱”中的控件。下面是具体的步骤: ①在PowerPoint的编辑模式下需要插入图表的页面中用“插入→对象→MicrosoftExcel图表”插入一个内嵌的Excel图表,编辑数据及图表(最好是用一个图表工作表显示图表),用一个工作表中的单元格放入数据作为控制图表显示的单元格(这个只是为了方便理解,其实用VBA不要辅助单元格也可以直接改变图表数据引用的)。②退出Excel编辑,在PPT选择“视图→工具栏→控件工具箱”打开“控件工具箱”,在图表所在页插入一个组合框。 插入“组合框”控件后,按Alt+F11就可以在VBE中看到工程中显示出了一个Slide对象(只有加入了ActiveX控件
3、后才能在工程资源管理器中出现Slide对象),如下图: ③在VBE的Slide对象相应的模块中加入如下代码OptionExplicit'声明公共变量DimWbAsObject,ShAsObject,SouceRngAsObject, TarCellAsObject'当控件获得焦点时运行Private SubComboBox1_GotFocus() DimiAs Integer'设置Wb为内嵌的Excel工作薄,Sh为指定工作表,SouceRng和TarCell为指定单元格区域SetWb=Me.Shapes(1).OLEFormat.Object 'Me表示正在播放的Slide SetSh=W
4、b.worksheets("sheet1") SetSouceRng= Sh.Range("B1:D1") SetTarCell=Sh.Range("F1")个人收集整理勿做商业用途WithComboBox1 '先清除列表 If.ListCount>0Then .ListIndex =-1 Fori= .ListCount-1 To0Step-1 .RemoveItemi Nexti EndIf '加入列表项 Fori =1ToSouceRng.Count .AddItemSouceRng.offset(0,i - 1).Range("A1")Nexti '选择第
5、一项.ListIndex =0 '修改TarCell单元格中的值 TarCell=.ValueEndWithEnd Sub ④在VBE的Slide对象相应的模块中再加入如下代码‘当控件失去焦点时运行释放对象变量Private Sub ComboBox1_LostFocus() SetTarCell =Nothing SetSouceRng=Nothing SetSh=Nothing SetWb=NothingEnd Sub‘当控件值改变时运行对内嵌工作薄单元格的改变PrivateSubComboBox1_Change()'改变内嵌工作薄中相应单元格的值个人收集整理勿做商业用途 TarC
6、ell=ComboBox1.ValueEndSub
此文档下载收益归作者所有