Sub ShowInPP()
Dim objPP As Object
Dim objP As Object 'PowerPoint.Presentation
Dim objCL As Object 'PowerPoint.CustomLayout
Dim objS As Object 'PowerPoint.Slide
Set objPP = CreateObject("PowerPoint.Application")
Set objP = objPP.Presentations.Add
Set objCL = objP.SlideMaster.CustomLayouts.Add(1)
Set objS = objP.Slides.AddSlide(1, objCL)
ActiveSheet.Range("A1:I40").Copy
With objS.Shapes.Paste 'PowerPoint.ShapeRange
.Left = (objCL.Width - .Width) / 2
.Top = (objCL.Height - .Height) / 2
End With
objPP.Visible = True
End Sub
wenn ich diesen Code starte, so kopiert er wirklich das Tabellenblatt in die Zwischenablage, öffnet ein neues PPT und dann bleibt der Code bei der Zeile stehen:With objS.Shapes.Paste 'PowerPoint.ShapeRange
Fehlermeldung:
Shapes.Paste invalid request: Clipboard is empty or contains data which may not be inserted here.
Wenn ich aber manuell auf dem leeren Folienblatt in PPT rechte Maustaste drücke und "Einfügen" wähle, so wird mir diese Tabelle korrekt eingefügt.
Was müsste ich an meinem Makrocode ändern, damit dieser Paste-Vorgang automatisch (d.h. ab Makro) auch läuft ?
Danke für die Hilfe !