Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1620to1624
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Viele Excel Diagramme nach Powerpoint

Viele Excel Diagramme nach Powerpoint
14.05.2018 14:44:04
Stephan
Hallo zusammen,
möchte aus einer Excel 20 verschiedene Diagramme (auf unterschiedlichen Tabellenblättern) in eine Powerpoint bestehend aus mehreren Folien bringen.
Mit diesem Code hier klappt das auch wunderbar:
Dim ppApp As Object
Dim ppFile As Object
Dim ppPres As String
'Dateiname
Set ppApp = CreateObject("Powerpoint.Application")
With ppApp
.Visible = True
.Presentations.Open Filename:="Dateipfad"
'Powerpointdatei wählen und Folie 2 auswählen/anzeigen
.ActivePresentation.Slides(2).Select
'Aus Sheet2 Chart 2 wählen
Sheets(2).ChartObjects(2).Copy
'Größe und Positionierung des Diagramms in der Powerpointdatei bestimmen
With .ActiveWindow
.View.Paste
.Selection.ShapeRange.Left = 490
.Selection.ShapeRange.Top = 105
.Selection.ShapeRange.Width = 450
.Selection.ShapeRange.Height = 190
End With
End With
Wenn ich diesen Code jetzt aber stumpf mehrfach untereinander kopiere stürzt mir Powerpoint irgendwann ab. Schätze der Code überfordert PP, mglw. braucht's so was wie "do while"?
Danke schon mal und VG
Stephan

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Viele Excel Diagramme nach Powerpoint
14.05.2018 15:56:53
ChrisL
Hi Stephan
Wie stumpf ist stumpf? Die Instanz/Datei solltest du natürlich nur einmal öffnen.
Folgender Code kopiert Diagramm 2 bis 10:
Sub t()
Dim ppApp As Object
Dim ppFile As Object
Dim ppPres As String
Dim i As Integer
'Dateiname
Set ppApp = CreateObject("Powerpoint.Application")
With ppApp
.Visible = True
.Presentations.Open Filename:="File.pptx"
'Powerpointdatei wählen und Folie 2 auswählen/anzeigen
For i = 2 To 10
.ActivePresentation.Slides(i).Select
'Aus Sheet2 Chart 2 wählen
Sheets(2).ChartObjects(i).Copy
'Größe und Positionierung des Diagramms in der Powerpointdatei bestimmen
With .ActiveWindow
.View.Paste
.Selection.ShapeRange.Left = 490
.Selection.ShapeRange.Top = 105
.Selection.ShapeRange.Width = 450
.Selection.ShapeRange.Height = 190
End With
Next i
End With
End Sub
cu
Chris
Anzeige
AW: Viele Excel Diagramme nach Powerpoint
14.05.2018 16:41:24
Stephan
Hi Chris,
besten Dank für die schnelle Antwort. Der ganze Stumpfsinn hatte schon ein wenig seinen Grund (zumindest nach meinem Laienverständnis;-)), da ich, das hatte ich zugegebenermaßen nicht erwähnt, die 20 Diagramme aus 4 verschiedenen Tabellenblättern ziehe und diese dann je nach Tabellenblatt an einer anderen Stelle auf den Powerpointfolien platziert werden müssen. Mit Deinem Vorschlag krieg ich alle Diagramme von einem Tabellenblatt an den jeweiligen Platz auf den fortlaufenden PP-Folien, das ist fein aber eben nur ein Viertel der Miete. Würde mich sehr freuen wenn Du mich noch weiter erhellen könntest.
Merci, VG
Stephan
Anzeige
AW: Viele Excel Diagramme nach Powerpoint
14.05.2018 17:16:06
ChrisL
Hi Stephan
Du gibst uns einen Code der funktioniert und erwartest die Lösung für einen anderen, uns unbekannten, Code.
Ungetestet...
Set ppApp = CreateObject("Powerpoint.Application")
With ppApp
.Visible = True
.Presentations.Open Filename:="File1.pptx"
For i = 2 To 10
.ActivePresentation.Slides(i).Select
Sheets(2).ChartObjects(i).Copy
With .ActiveWindow
.View.Paste
.Selection.ShapeRange.Left = 490
.Selection.ShapeRange.Top = 105
.Selection.ShapeRange.Width = 450
.Selection.ShapeRange.Height = 190
End With
Next i
.ActivePresentation.Save
.ActivePresentation.Close
.Presentations.Open Filename:="File2.pptx"
For i = 2 To 10
.ActivePresentation.Slides(i).Select
Sheets(2).ChartObjects(i).Copy
With .ActiveWindow
.View.Paste
.Selection.ShapeRange.Left = 490
.Selection.ShapeRange.Top = 105
.Selection.ShapeRange.Width = 450
.Selection.ShapeRange.Height = 190
End With
Next i
.ActivePresentation.Save
.ActivePresentation.Close
End With
cu
Chris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige