Excel -> Powerpoint Tabelle kopieren

  • Sonstige

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von JohnDoe.

    Excel -> Powerpoint Tabelle kopieren

    Hi Leute, folgendes Problem quält mich schon einige Zeit:

    Auf Knopfdruck soll Excel den Bereich C10:V59 kopieren, was auch nicht so schwer ist.(Code unten)

    <font color="red"> Danach soll Powerpoint automatisch gestartet, eine bestimmte Präsentation geladen werden und auf Folie 1 (leer) die von Excel kopierte Tabelle eingefügt werden.</font>

    Das bekomme ich absolut nicht gebacken. Für eure Hilfe wäre sehr dankbar !

    MfG Maniac88

    Private Sub CommandButton1_Click()
    Call Tabelle_kopieren
    End Sub

    Sub Tabelle_kopieren()
    Range("C10:V59").Select
    Selection.Copy
    End Sub

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Maniac100“ ()

    Hallo Maniac88,

    ich hoffe, dass hilft als Anregung:

    <CODE>Sub test()
    'Einbinden der Microsoft Powerpoint Object Library
    Dim oPPT As PowerPoint.Application
    Dim oSlide As PowerPoint.Slide
    ActiveSheet.Range("A1:C4").Copy
    Set oPPT = New PowerPoint.Application
    oPPT.Visible = True
    oPPT.Presentations.Open "C:\kannweg.ppt"
    Set oSlide = oPPT.ActivePresentation.Slides(1)
    oSlide.Shapes.Paste
    Set oPPT = Nothing
    End Sub</CODE>

    Gruß Markus

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „alchimist“ ()

    Hat mir erstmal weitergeholfen, aber es gibt noch einige Probleme beim einfügen der Tabelle, obwohl nur ein bestimmter Bereich markiert ist, fügt Powerpoint anscheinend unendlich lange Spalten der Tabelle ein. Man bekommt diese Tabelle auf kein Blatt verkleinert !
    Vielen Dank schonmal für die Hilfe

    MfG Maniac88
    Hallo Maniac88,

    das ganze war auch ein Schnellschuß, unter Umständen kann man auch eine genaue OLE-Einbettung vornehmen, die aber komplizierter sein könnte, was genau meinst du mit undendlich langen Spalten? Gehts nur um die Größe des Shape? Wichtig ist auch die Art des Einfügens, muss es als Objekt vorliegen oder gehts auch als Bild (Pixel- oder vektororientiert?)

    Du könntest sonst die Excel-Datei mal veröffentlichen, so dass jeder dein Problem nachvollziehen kann, Wichtig sind dann auch die Versionen deiner verwendeten Programme.

    Gruß Markus
    Hallo zusammen.

    Genau das war auch mein Problem.
    Dank an "alchimist". Das hat mir sehr weitergeholfen.

    Nur kann ich nicht abspeichern. Aufzeichnen mit Makrorekorder habe ich bereits versucht. Ohne erfolg. Die Aufzeichnung mit saveas funzt nicht.

    Kannst Du bitte noch einmal in Deine Trickkiste greifen?
    Danke, funktioniert wunderbar.

    Nur jetzt habe ich ein neues Problem:
    Ich will ein Powerpoint öffnen, aber ohne Vorlage.

    Dim PPT As Object
    Dim Pres As PowerPoint.Presentation
    Set PPT = New PowerPoint.Application
    PPT.Visible = True

    Application.NewPresentation.Add Filename:="d:\Temp\neu.ppt" ???

    'Presentations.Open Filename:="sales.ppt", ReadOnly:=True
    'Presentations.Open.Slides.Add 1, 1 ??????

    'Set Pres = Presentations.Add(True)
    'Pres.Slides.Add 1, 1 ??????

    das mit den Fragezeichen habe ich bereits probiert, geht aber nicht.
    Hallo kv21,

    das mit den Fragezeichen habe ich bereits probiert, geht aber nicht

    Soetwas ist nicht hilfreich, bitte gib IMMER eine genaue Fehlermeldung an. Was genau möchtest du denn erreichen? Hast du schon mal in die PowerPoint-VBA-Hilfe geschaut?

    probiere mal dieses:

    Quellcode

    1. Dim oPPT As PowerPoint.Application
    2. Dim oPres As PowerPoint.Presentation
    3. Set oPPT = New PowerPoint.Application
    4. oPPT.Visible = True
    5. Set oPres = oPPT.Presentations.Add
    6. oPres.Slides.Add 1, ppLayoutBlank
    7. oPres.Slides.Add 2, ppLayoutChartAndText
    8. Set oPres = Nothing
    9. Set oPPT = Nothing


    Gruß Markus
    Danke,
    wieder was gelernt.
    Leider habe ich kein Nachschlagewerk und der Makrorekorder in PPT zeichnet nicht immer alles auf.
    Meine Fragen hören aber nicht auf. Mein nächstes Problem:
    Ich will menínen Range aus Excel in PPT als Bild speichern. Nur so vermeide ich Fehlansichten.
    Der Befehl über die Menüleiste "speichern unter/Bild"
    wird aber im Mocrorekorder nicht aufgezeichnet.

    Ich glaube dann hab ich's.
    Ich kann ja einmal den Code von der kleinen Anwendung senden, wenns interessiert.
    (Aus Excel Spalten einer bestimmten Gesamtbreite ins PPT. Dann die nächsten Spalten in die nächste PPT Presentation usw. Dann die folgenden Tabell abarbeiten. Tabellen, Gesamtbreite, Vorlage,.... werden aus einem Intro-Sheet gelesen.)
    Hallo kv21,

    evtl. hilft dies:

    Quellcode

    1. Sub test()
    2. 'Aktiviere die Microsoft Powerpoint Object Library
    3. Dim oWks As Worksheet 'wird das aktive Tabellenblatt
    4. Dim i As Long, j As Long 'Zähler
    5. Dim oPPT As PowerPoint.Application 'PowerPoint selbst
    6. Dim oPres As PowerPoint.Presentation 'Die aktive Presentation
    7. Set oPPT = New PowerPoint.Application 'Instanz von PPT wird erzeugt
    8. Set oWks = ActiveSheet 'Weise das aktuelle Excel-Sheet zu
    9. For i = 1 To 4 'Befülle eine Range
    10. For j = 0 To 2
    11. oWks.Cells(i, j + 1).Value = 4 * j + i
    12. Next j
    13. Next i
    14. 'Kopieren als Bild
    15. oWks.Range(oWks.Cells(1, 1), oWks.Cells(4, 3)).CopyPicture xlScreen, xlPicture
    16. oPPT.Visible = True
    17. Set oPres = oPPT.Presentations.Add
    18. oPres.Slides.Add 1, ppLayoutBlank
    19. 'Einfügen
    20. oPPT.ActiveWindow.View.Paste
    21. Set oWks = Nothing
    22. Set oPres = Nothing
    23. Set oPPT = Nothing
    24. End Sub


    Da du aber bestimmt eine moderne Version von Excel und PowerPoint hast, kann es sein, dass es auch einfacher und komfortabler geht. Ehrlich gesagt bist du einfach noch nicht so weit, diese Problem, die du dir stellst, zu lösen. Warum musst du so hoch hinaus, probiere es doch erst einmal mit einfacheren Dingen.

    Gruß Markus