大家好,本人要将EXCEL中每个表的内容都放到PPT中,因为有上百个工作表,如果手动一个一个地复制去PPT中(一个EXCEL表占一页PPT),很费时。
求VBA代码,具体要求:执行代码后,自动打开PPT程序,并自动新建PPT页面,然后将上百个EXCEL工作表逐页地复制到PPT中。我只要简单地将EXCEL表复制去PPT即可,不需要实现其他特殊效果。
另,
A. 本人用的是Office2013,从2007开始,PPT就没有录制宏的功能,不要跟我说录制宏。但你们可以录制一个宏,复制上来让我参考参考。
B. 代码最好加上注释。
我的Sheet页面内容很小,可以肯定不会变形。因为手动一张一张复制过去,完全不变形,也不需要任何调整。既然手动复制不变形,我就想用VBA实现。
你把图片自动复制过去PPT,这个VBA过程正是我想要的。烦请提供。
有点抱歉啊!我写的那段代码找不到了,临时编写了一段,但是图片向PPT粘贴的时候老是出现错误,今天工作有点忙,我先把代码丢给你吧,你先研究研究,我有空再帮你修改一下。
Dim ptApp As Object
Set ptApp = CreateObject("PowerPoint.Application")
Dim ptPre As Object
Set ptPre = ptApp.Presentations.Add
Dim ptSld As Object
ptApp.Visible = msoTrue
For i = 1 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(i).Range("A1:" & Split(Columns(ActiveWorkbook.Sheets(i).UsedRange.Columns.Count).Address(False, False), ":")(0) & ActiveWorkbook.Sheets(i).UsedRange.Rows.Count).CopyPicture Appearance:=xlScreen, Format:=xlPicture
Set ptSld = ptPre.Slides.Add(Index:=ptPre.Slides.Count + 1, Layout:=ppLayoutBlank)
'ActiveWindow.View.Paste '就是获取到图片后粘贴时老是出错
Next i
你好,谢谢你的回复。
我运行的时候,
Set ptSld = ptPre.Slides.Add(Index:=ptPre.Slides.Count + 1, Layout:=ppLayoutBlank)
运行到 PPLayoutBlank 这里总是“提示未定义的变量”。
之前我也试了N次了。自己编了一个程序,也是提示这个错误。
我是否可以加你QQ?我QQ是:591490775
谢谢