Ich versuche, einige Daten von meinem Excel-Blatt zu schneiden und es als Bild in einer Präsentation einzufügen. Oft wird jedoch eine Fehlermeldung angezeigt: Shapes (unbekanntes Mitglied): ungültige Anfrage. Die Zwischenablage ist leer oder enthält Daten, die hier nicht eingefügt werden können. Manchmal scheint es früher manchmal später, manchmal funktioniert es auch und alle Folien erstellt bekommen .. Mein Code ist der folgende:VBA: Excel-Inhalt in Powerpoint einfügen. Fehlermeldung: Zwischenablage ist leer oder enthält Daten, die hier möglicherweise nicht eingefügt werden
Public Function createPP(workbookName As String, Worksheet As String, title As String) As Boolean
Dim ppApp As PowerPoint.Application
Dim ppPres As PowerPoint.Presentation
Dim ppSlide As PowerPoint.Slide
Dim counter As Integer
Dim rng As Range
Dim lastRow As Integer, lastCol As Integer, lastRow1 As Integer, lastCol1 As Integer
Dim Worksheet2 As String
Set ppApp = New PowerPoint.Application
ppApp.Visible = True
ppApp.Activate
Sheets(Worksheet).Select
lastRow = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
lastCol = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Sheets(Worksheet2).Select
lastRow1 = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
lastCol1 = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Set ppPres = ppApp.Presentations.Add
ppPres.ApplyTemplate (ActiveWorkbook.Path & "\HPETheme.thmx")
Set ppSlide = ppPres.Slides.Add(1, ppLayoutCustom)
ppSlide.Shapes(1).TextFrame.TextRange = title
ppSlide.Shapes(2).TextFrame.TextRange = "per SPL per month" '& vbNewLine & "presented by Isabelle Schmiedel"
ppSlide.Shapes(3).TextFrame.TextRange = "Isabelle Schmiedel"
x = 2
For counter = 2 To lastRow - 1
Set rng = Workbooks(workbookName).Sheets(Worksheet).Range("A" & counter & ":J" & counter + 24)
Set ppSlide = ppPres.Slides.Add(x, 11)
ppSlide.Shapes(1).TextFrame.TextRange = Sheets(Worksheet).Cells(counter, 1)
ppSlide.Select
rng.Copy
ppSlide.Shapes.Paste
counter = counter + 25
x = x + 1
Next counter
End Function
Jemand weiß, was muss ich so funktioniert es ändern? Vielen Dank im Voraus.
Vielen Dank für diese Hilfe. Es funktioniert besser, eine Fehlermeldung kommt nicht sofort, aber leider funktioniert es immer noch nicht richtig. Ich bekomme den Laufzeitfehler: Die Methode 'ExecuteMso' des Objekts '_CommandBars' ist fehlgeschlagen. – misskraft
Welche Zeile gibt einen Fehler? Und welche Version von PPT? –
Die Zeile: ppApp.CommandBars.ExecuteMso "PasteSourceFormatting" Aber ich löste es, indem ich Excel etwas warten ließ, bevor es weiterging, irgendwie half das. Wissen Sie vielleicht, wie ich die Tabelle in FontSize 12 einfügen kann? Es fügt es immer in Größe 10 ein, obwohl mein Tabelleninhalt die Größe 12 hat. Ich dachte, "PasteExcelTableSourceFormatting" könnte dafür funktionieren, hat es aber nicht. – misskraft