Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen kopieren und in PowerPoint einfügen

Zellen kopieren und in PowerPoint einfügen
16.11.2015 21:56:49
Thomas
Hallo,
ich möchte gerne per Makro eine leere PowerPoint-Präsentation öffnen und Zellen aus einer Excel-Tabelle dort einfügen.
Dazu sollen die Zellen A1:E20 von Blatt10 (Worksheets(10) ) meiner Tabelle kopiert werden.
Ich dachte an etwas in der Art wie die folgenden Zeilen zum Öffnen von PowerPoint, weiss aber nicht, wie ich dort eine leere Präsentation öffne (d.h. keine Vorlage) und wie ich dort die kopierten Zellen aus dem Zwischenspeicher einfüge.
Das Kopieren sollte über

Worksheets(10).Range("A1:E20").Copy
gehen ?
Mein Code für den Rest (soweit ich gekommen bin):
Dim PPObject As Obect
Set oPPT = CreateObject("Application.PowerPoint")
oPPT.Visible = True
oPPT.Presentations.Open Filename:="presentation.ppt"
Kann mir jemand damit weiterhelfen ?
Vielen Dank im Voraus.
Gruß,
Thomas

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen kopieren und in PowerPoint einfügen
17.11.2015 09:05:53
Michael
Hallo Thomas!
Als Bsp:
Sub TabelleZuPowerPoint()
' Verweis auf Microsoft PowerPoint 14.0 Object Library
Dim Pp As PowerPoint.Application
Dim Praes As PowerPoint.Presentation
Dim Folie As PowerPoint.Slide
Dim ppTab As PowerPoint.Shape
Worksheets(10).Range("A1:E20").Copy
Set Pp = CreateObject("Powerpoint.Application")
Pp.Visible = True
Set Praes = Pp.Presentations.Add
Pp.ActiveWindow.ViewType = ppViewSlide
Set Folie = Praes.Slides.Add(1, ppLayoutTitleOnly)
Folie.Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile
Set ppTab = Folie.Shapes(Folie.Shapes.Count)
ppTab.Left = 234
ppTab.Top = 186
''PowerPoint-Präsentation speichern und schließen
'With Praes
'    .SaveAs '"C:\My Documents\MyPreso.ppt"
'    .Close
'End With
''PowerPoint beenden
'Pp.Quit
'Variablen rücksetzen
Set Folie = Nothing
Set Praes = Nothing
Set Pp = Nothing
End Sub
Hast Du es Dir so vorgestellt? Achtung: Du musst den Verweis auf die PowerPoint Object Library (bei mir 14.0, bei Dir vermutlich schon 15.0) setzen. Dazu im VB-Editor Extras -- Verweise -- Durcklicken und bei Microsoft PowerPoint XX.X Object Library ein Häkchen setzen.
LG
Michael

Anzeige
AW: Zellen kopieren und in PowerPoint einfügen
17.11.2015 10:44:30
Thomas
Hallo Michael,
vielen Dank dafür !
Warum genau ist der Verweis auf die Library hier notwendig ?
Müsste das von jedem User gesetzt werden oder nur von mir als Ersteller der Tabelle ?
Gruß,
Thomas

AW: Zellen kopieren und in PowerPoint einfügen
17.11.2015 11:03:41
Michael
Hallo Thomas!
Gerne!
Warum genau ist der Verweis auf die Library hier notwendig ?
Weil PowerPoint und Excel zwei unterschiedliche Anwendungen sind. Beide lassen sich zwar über VBA programmieren, aber innerhalb VBA sprechen die beiden durchaus unterschiedliche Sprachen. Damit Excel die VBA-Sprache von PowerPoint versteht und entsprechend Anweisungen geben kann, muss Excel sozusagen vorher ein entsprechendes Wörterbuch erhalten. Excel kennt bspw. kein Objekt namens [Slide] oder [Presentation] und kann also "aus sicher heraus" damit auch nichts anfangen (Methoden ausführen).
Müsste das von jedem User gesetzt werden oder nur von mir als Ersteller der Tabelle ?
Nein. Du erstellst das Makro, setzt dabei den Verweis und der wandert dann mit dieser Mappe mit. Ersteres wäre wohl keine Lösung ;-).
LG
Michael

Anzeige
AW: Ergänzung
17.11.2015 11:37:00
Michael
Hallo Thomas!
Zu meiner vorigen Erklärung noch ein Hinweis: Zu Verweisen gibt es natürlich noch ganz viel mehr zu erfahren. Stichwort ist hier "Early vs. Late Binding" (in diesem Fall, mit dem gesetzten Verweis, nutzen wir early binding). Falls Dich das weiter interessiert, gibt's unter http://peltiertech.com/Excel/EarlyLateBinding.html sehr gute Infos in Englisch.
LG
Michael

Anzeige
AW: Ergänzung
21.11.2015 10:28:30
Thomas
Hallo Michael,
vielen Dank für die super Erklärungen und bitte entschuldige die späte Rückmeldung - ich war die letzten Tage ziemlich viel unterwegs.
Das ist super so und mit den Erklärungen komme ich damit gut klar - nochmal vielen Dank für die tolle Hilfe !
VG und schönes WE,
Thomas
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellen kopieren und in PowerPoint einfügen


Schritt-für-Schritt-Anleitung

Um Zellen aus einer Excel-Tabelle in eine PowerPoint-Präsentation einzufügen, kannst Du ein VBA-Makro verwenden. Hier sind die Schritte:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

  2. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub TabelleZuPowerPoint()
       ' Verweis auf Microsoft PowerPoint 14.0 Object Library
       Dim Pp As PowerPoint.Application
       Dim Praes As PowerPoint.Presentation
       Dim Folie As PowerPoint.Slide
       Dim ppTab As PowerPoint.Shape
    
       ' Zellen kopieren
       Worksheets(10).Range("A1:E20").Copy
    
       ' PowerPoint öffnen
       Set Pp = CreateObject("PowerPoint.Application")
       Pp.Visible = True
    
       ' Neue Präsentation erstellen
       Set Praes = Pp.Presentations.Add
       Set Folie = Praes.Slides.Add(1, ppLayoutTitleOnly)
    
       ' Zellen in PowerPoint einfügen
       Folie.Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile
    
       ' Optional: Position der eingefügten Tabelle
       Set ppTab = Folie.Shapes(Folie.Shapes.Count)
       ppTab.Left = 100
       ppTab.Top = 100
    End Sub
  4. Führe das Makro aus: Gehe zurück zu Excel und drücke ALT + F8, wähle TabelleZuPowerPoint und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden"
    Lösung: Stelle sicher, dass Du den Verweis auf die Microsoft PowerPoint Object Library gesetzt hast. Gehe im VBA-Editor zu Extras > Verweise und aktiviere die entsprechende Library.

  • Fehler: PowerPoint öffnet sich nicht
    Lösung: Überprüfe, ob PowerPoint auf Deinem Computer installiert ist und ob Du die richtige Version im Code angegeben hast.


Alternative Methoden

Du kannst auch die Methode PowerPoint Excel einfügen verwenden, um Daten aus Excel in PowerPoint zu importieren, ohne VBA zu nutzen. Kopiere einfach die gewünschten Zellen in Excel und füge sie in PowerPoint mit Strg + V ein. Dies kann jedoch die Formatierung beeinträchtigen.


Praktische Beispiele

Ein praktisches Beispiel für die Verwendung von vba in powerpoint einfügen:

Sub BeispielMakro()
    Dim pptApp As Object
    Set pptApp = CreateObject("PowerPoint.Application")
    pptApp.Visible = True

    Dim pptPräsentation As Object
    Set pptPräsentation = pptApp.Presentations.Add

    ' Füge eine Folie hinzu
    Dim slide As Object
    Set slide = pptPräsentation.Slides.Add(1, ppLayoutText)

    ' Titel und Text hinzufügen
    slide.Shapes(1).TextFrame.TextRange.Text = "Mein Titel"
    slide.Shapes(2).TextFrame.TextRange.Text = "Mein Text"
End Sub

Tipps für Profis

  • Verwende ppPasteEnhancedMetafile, um sicherzustellen, dass die Formatierung beim Einfügen in PowerPoint beibehalten wird.
  • Experimentiere mit den Eigenschaften von Shapes, um die Position und Größe deiner eingefügten Elemente anzupassen.
  • Wenn Du mehrere Folien benötigst, kannst Du eine Schleife im VBA-Code einfügen, um mehrere Folien automatisch zu erstellen und Daten einzufügen.

FAQ: Häufige Fragen

1. Warum ist der Verweis auf die PowerPoint Library notwendig?
Der Verweis ist notwendig, damit Excel die VBA-Sprache von PowerPoint versteht. Excel kennt keine PowerPoint-spezifischen Objekte wie Slide oder Presentation.

2. Muss jeder Benutzer den Verweis setzen?
Nein, nur der Ersteller des Makros muss den Verweis setzen. Das Makro wird dann mit der Excel-Datei gespeichert und kann von anderen Nutzern ohne zusätzliche Einstellungen ausgeführt werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige