I have been using this code for several months, and it works perfectly.
However, now I would like the paste in PowerPoint to be PasteSpecial. Link, so that it will be a live link. Is there something that can be changed easily to accomplish this? I have never used VBA in PPT.Sub RangeToPresentation() ' Set a VBE reference to Microsoft PowerPoint 10.0 Object Library for Office 2002, Dim PPApp As PowerPoint.Application Dim PPPres As PowerPoint.Presentation Dim PPSlide As PowerPoint.Slide ' Make sure a range is selected If Not TypeName(Selection) = "Range" Then MsgBox "Please select a worksheet range and try again.", vbExclamation, _ "No Range Selected" Else Set PPApp = GetObject(, "Powerpoint.Application") ' Reference active presentation Set PPPres = PPApp.ActivePresentation PPApp.ActiveWindow.ViewType = ppViewSlide ' Reference active slide Set PPSlide = PPPres.Slides(PPApp.ActiveWindow.Selection.SlideRange.SlideIndex) ' Copy the range as a picture Selection.CopyPicture Appearance:=xlScreen, _ Format:=xlPicture ' Paste the range PPSlide.Shapes.Paste.Select ' Align the pasted range PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True ' Clean up Set PPSlide = Nothing Set PPPres = Nothing Set PPApp = Nothing End If End Sub
Any help would be appreciated.



)
Reply With Quote
And thanks for posting that solution Shades. Very helpful!
