01.07.2019, 11:22
Guten Tag 
Ich versuche einen Graphen von Excel via VBA nach Powerpoint zu übertragen und nutze folgenden Code:
Sub ChartObjectsNachPowerpoint()
Dim pptApp As Object, pptPres As Object
Dim chtObj As Object, shp As Object, i
Set pptApp = CreateObject("PowerPoint.Application")
Set pptPres = pptApp.Presentations.Add(msoTrue)
For Each chtObj In ActiveSheet.ChartObjects
chtObj.Chart.ChartArea.Copy
i = i + 1
Set pptslide = pptPres.Slides.Add(i, 12) '12 = ppLayoutBlank
Set shp = pptslide.Shapes.Paste
shp.Top = 0
shp.Left = 0
shp.Width = 400
shp.Height = 400
Next
pptApp.Visible = True
End Sub
Das funktioniert auch super, jedoch möchte ich die Grafik nicht einfach kopieren sondern ich möchte "Ursprüngliche Formatierung beibehalten und Arbeitsmappe einbetten" nutzen, was über Rechtsklick+U funktioniert.
Weiß jemand wie ich den Code anpassen müsste?
VG

Ich versuche einen Graphen von Excel via VBA nach Powerpoint zu übertragen und nutze folgenden Code:
Sub ChartObjectsNachPowerpoint()
Dim pptApp As Object, pptPres As Object
Dim chtObj As Object, shp As Object, i
Set pptApp = CreateObject("PowerPoint.Application")
Set pptPres = pptApp.Presentations.Add(msoTrue)
For Each chtObj In ActiveSheet.ChartObjects
chtObj.Chart.ChartArea.Copy
i = i + 1
Set pptslide = pptPres.Slides.Add(i, 12) '12 = ppLayoutBlank
Set shp = pptslide.Shapes.Paste
shp.Top = 0
shp.Left = 0
shp.Width = 400
shp.Height = 400
Next
pptApp.Visible = True
End Sub
Das funktioniert auch super, jedoch möchte ich die Grafik nicht einfach kopieren sondern ich möchte "Ursprüngliche Formatierung beibehalten und Arbeitsmappe einbetten" nutzen, was über Rechtsklick+U funktioniert.
Weiß jemand wie ich den Code anpassen müsste?
VG