使用VBA将Excel中的某个范围粘贴到Powerpoint模板的特定幻灯片中

使用VBA将Excel中的某个范围粘贴到Powerpoint模板的特定幻灯片中,vba,excel,Vba,Excel,我花了好几个小时研究各种建议的解决方案,但找不到任何似乎能解决问题的方法,或者更可能的是,我对VBA的理解是理解我理解在线解决方案的能力。因此,我希望你们中的一位能帮助我解决问题 我打开了一个Excel工作表,其中包含少量数据(标题和数字等) 我想复制此范围,并将其粘贴到我已创建的powerpoint模板中的特定幻灯片(幻灯片2)上(而不是图片,如果需要,我希望能够在powerpoint中对其进行格式化) My VBA使用以下代码基于模板正确打开新演示文稿: 'Opens a Power

我花了好几个小时研究各种建议的解决方案,但找不到任何似乎能解决问题的方法,或者更可能的是,我对VBA的理解是理解我理解在线解决方案的能力。因此,我希望你们中的一位能帮助我解决问题

我打开了一个Excel工作表,其中包含少量数据(标题和数字等)

我想复制此范围,并将其粘贴到我已创建的powerpoint模板中的特定幻灯片(幻灯片2)上(而不是图片,如果需要,我希望能够在powerpoint中对其进行格式化)

My VBA使用以下代码基于模板正确打开新演示文稿:

    'Opens a PowerPoint Document from Excel

Dim objPPT As Object

Set objPPT = CreateObject("PowerPoint.Application")
objPPT.Visible = True

'Change the directory path and file name to the location
'of your document

objPPT.Presentations.Open "C:\Users\Colin\Dropbox (Edge45)\Edge45 Team Folder\Edge45 Company Documents\Templates\Powerpoint Templates\Edge45 Audit Template Macro.potm", Untitled:=msoTrue
然而,这正是我陷入困境的地方——我不知道在演示文稿打开后如何将Excel表格数据粘贴到正确的幻灯片中。我的数据在A1:D16范围内


提前非常感谢您

试试这个。我已将Excel工作表分配给一个变量(
XLws
),将PowerPoint幻灯片分配给另一个变量(
PPslide
)。可以在它们之间复制/粘贴对象

顺便说一句,您需要启用PowerPoint库。如果没有,请在VBA项目中转到工具->参考->Microsoft PowerPoint 15.0对象库

Sub PPcopy()
Dim PPapp As PowerPoint.Application, PPpres As PowerPoint.Presentation, PPslide As PowerPoint.Slide
Dim XLws As Worksheet

    Set XLws = ActiveSheet
    Set PPapp = New PowerPoint.Application
    Set PPpres = PPapp.Presentations.Open("C:\Users\Colin\Dropbox (Edge45)\Edge45 Team Folder\Edge45 Company Documents\Templates\Powerpoint Templates\Edge45 Audit Template Macro.potm")
    PPapp.Visible = True
    Set PPslide = PPpres.Slides(2)
    XLws.Range("A1:D16").Copy
    PPslide.Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoFalse
    Application.CutCopyMode = False

End Sub

这是辉煌的@Limak,然而,粘贴的对象我不能选择单独的单元格和必要的格式。我假设这与粘贴类型的工作方式有关-我需要在VBA代码中将其更改为什么才能使其粘贴,以便我可以操作单元格的内容?我发布的方法使用格式表单源工作簿。那么,为什么不在Excel中操作表格,然后将其粘贴到PowerPoint,而不是在PowerPoint中编辑Excel对象呢?这将更加复杂,甚至是不可能的。嗨,是的,这是一个解决方案,但我确实需要能够在powerpoint中点击一些单元格。如果我在Excel中复制一些单元格,然后在powerpoint中粘贴特殊的“保留源格式(K)”,我会得到一个可编辑的表格,我可以更改单元格间距,插入新行等。如果我可以手动执行,当然可以使用VBA执行?我不太确定,VBA在这个Excel沙盒中工作得很好,而在其他任何地方都不行。一旦将表格粘贴到PowerPoint中,它就不是一些Excel单元格,而是PowerPoint形状。老实说,我不知道如何在另一个程序中操纵这些形状。这是另一个话题,值得再写一篇帖子。谷歌ofc;)