Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro: Exceltabelle nach PPT mit Scrollleiste

Forumthread: Makro: Exceltabelle nach PPT mit Scrollleiste

Makro: Exceltabelle nach PPT mit Scrollleiste
04.03.2009 14:52:37
Sven
Hallo Office Künstler ;o)
Ich komme nicht weiter. Ich kann Bilder und Grafiken sowie Zellbereiche ohne Probleme nach Powerpoint per Makro bringen. Mein Problem ist : Ich habe eine immer unterschiedlich lange Tabelle......diese besteht aus Spalten A1-H1 und dann eben beliebig Zeilen. Ich möchte nun per Makro, den Text bis zur letzten Zeile finden....das alles kopieren nach Powerpoint und dort als scrollbares Textfeld einfügen auf 1 Folie die ich auswählen kann.....
1. geht das überhaupt per Makro ?
2. wenn ja wie ? bin da echt ratlos und googeln hat bisher nich zum Erfolg geführt.
Ich füge mal mein Makro an ( da ist nur beinhaltet,welcheDiagramme er an welche Stelle und in welcher Größe setzt..also meine Textfolie wäre dann BSP Slide 7..
Für Ratschläge oder Infos wäre ich euch sehr dankbar
(! Achja ich bin Anfänger in VBA )

Sub toppperiod()
Dim ppApp As Object
Dim ppFile As Object
Dim ppPres As String
'Dateiname
ppPres = "C:\Demo.ppt"
'Object referenzieren
Set ppApp = CreateObject("Powerpoint.Application")
'Diagramm kopieren : Name bitte anpassen
Worksheets("Auswertung Period").Range("A1:H30").Copy
'Object initialisieren
ppApp.Visible = msoTrue
'PPT öffnen
Set ppFile = ppApp.Presentations.Open(ppPres)
'Foliennummer angeben
ppApp.ActivePresentation.Slides(3).Select
'Bereich einfügen und OLE Verknüpfung herstellen = Link
With ppApp.ActiveWindow
.View.PasteSpecial DataType:=ppPaste, link:=msoTrue
End With
'Eingefügte Tabelle skalieren
With ppApp.ActiveWindow.Selection.ShapeRange
'Oberer Rand 1 cm unter Standardtitel
.Top = 110
'Linker Rand 1.5 cm von linkem Folienrand
.Left = 35
'Eingefügte Tabelle auf Links und rechts 1,5 cm Rand skalieren
.Width = 665
'Bei Bedarf Höhe noch einstellen
'Hier ist jedoch zu beachten, dass das Object skaliert wird !!!
'Die Breite verändert sich dann
'.Height = 330
End With
ActiveSheet.ChartObjects("Diagramm 38").Chart.ChartArea.Copy
'Object initialisieren
ppApp.Visible = msoTrue
'PPT öffnen
ppApp.ActivePresentation.Slides(4).Select
'Bereich einfügen und OLE Verknüpfung herstellen = Link
With ppApp.ActiveWindow
.View.PasteSpecial DataType:=ppPasteOLEObject, link:=msoTrue
End With
'Eingefügtes Diagramm skalieren
With ppApp.ActiveWindow.Selection.ShapeRange
'Oberer Rand 1 cm unter Standardtitel
.Top = 150
'Linker Rand 1.5 cm von linkem Folienrand
.Left = 35
'Eingefügte Tabelle auf Links und rechts 1,5 cm Rand skalieren
.Width = 600
'Bei Bedarf Höhe noch einstellen
'Hier ist jedoch zu beachten, dass das Object skaliert wird !!!
'Die Breite verändert sich dann
'.Height = 300
End With
ActiveSheet.ChartObjects("Diagramm 37").Chart.ChartArea.Copy
'Object initialisieren
ppApp.Visible = msoTrue
'PPT öffnen
ppApp.ActivePresentation.Slides(5).Select
'Bereich einfügen und OLE Verknüpfung herstellen = Link
With ppApp.ActiveWindow
.View.PasteSpecial DataType:=ppPasteOLEObject, link:=msoTrue
End With
'Eingefügtes Diagramm skalieren
With ppApp.ActiveWindow.Selection.ShapeRange
'Oberer Rand 1 cm unter Standardtitel
.Top = 150
'Linker Rand 1.5 cm von linkem Folienrand
.Left = 35
'Eingefügte Tabelle auf Links und rechts 1,5 cm Rand skalieren
.Width = 600
'Bei Bedarf Höhe noch einstellen
'Hier ist jedoch zu beachten, dass das Object skaliert wird !!!
'Die Breite verändert sich dann
'.Height = 340
End With
'Diagramm kopieren : Name bitte anpassen
Worksheets("Auswertung Period").Range("A106:H129").Copy
'Object initialisieren
ppApp.Visible = msoTrue
'PPT öffnen
ppApp.ActivePresentation.Slides(6).Select
'Bereich einfügen und OLE Verknüpfung herstellen = Link
With ppApp.ActiveWindow
.View.PasteSpecial DataType:=ppPasteDefault, link:=msoTrue
End With
'Eingefügte Tabelle skalieren
With ppApp.ActiveWindow.Selection.ShapeRange
'Oberer Rand 1 cm unter Standardtitel
.Top = 150
'Linker Rand 1.5 cm von linkem Folienrand
.Left = 70
'Eingefügte Tabelle auf Links und rechts 1,5 cm Rand skalieren
.Width = 600
'Bei Bedarf Höhe noch einstellen
'Hier ist jedoch zu beachten, dass das Object skaliert wird !!!
'Die Breite verändert sich dann
'.Height = 300
End With
End 

Sub


		
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro: Exceltabelle nach PPT mit Scrollleiste
04.03.2009 15:21:57
Sven
Sorry
"so habe ich das nicht gemeint mit ""MEIN""....viel mehr das Makro,was ich bisher gefunden habe.....entschuldige vielmals....!!!!!!!!
Hast du trotzdem noch nen sinnvollen Hinweis oder Ratschlag?Wie man sowas lösen könnte.
Gruß Sven
Anzeige
;
Anzeige

Infobox / Tutorial

Exceltabelle per Makro nach PowerPoint übertragen


Schritt-für-Schritt-Anleitung

Um eine Exceltabelle mithilfe eines Makros nach PowerPoint zu übertragen und dabei die Tabelle an den Inhalt anzupassen, kannst Du die folgenden Schritte befolgen:

  1. Öffne Excel und erstelle ein neues Makro:

    • Gehe zu Entwicklertools > Visual Basic.
    • Füge ein neues Modul hinzu.
  2. Kopiere den VBA-Code:

    • Verwende den bereitgestellten Code und passe den Dateipfad und die Foliennummern an, wie im Beispiel unten:
    Sub toppperiod()
       Dim ppApp As Object
       Dim ppFile As Object
       Dim ppPres As String
       ppPres = "C:\Demo.ppt" ' Passe den Dateipfad an
       Set ppApp = CreateObject("Powerpoint.Application")
       Worksheets("Auswertung Period").Range("A1:H30").Copy ' Kopiere den gewünschten Bereich
       ppApp.Visible = msoTrue
       Set ppFile = ppApp.Presentations.Open(ppPres)
       ppApp.ActivePresentation.Slides(3).Select
       With ppApp.ActiveWindow
           .View.PasteSpecial DataType:=ppPaste, link:=msoTrue
       End With
       ' Weitere Einstellungen zur Skalierung
    End Sub
  3. Füge den Code in das Modul ein:

    • Stelle sicher, dass Du den richtigen Bereich für Deine Daten in Excel angibst.
  4. Führe das Makro aus:

    • Klicke auf Ausführen, um das Makro auszuführen und die Tabelle nach PowerPoint zu übertragen.

Häufige Fehler und Lösungen

  • Fehler: „PowerPoint kann nicht geöffnet werden“

    • Stelle sicher, dass PowerPoint installiert und der Dateipfad korrekt ist.
  • Fehler: „Bereich kann nicht kopiert werden“

    • Überprüfe, ob der angegebene Bereich in Excel existiert und keine geschützten Zellen enthält.
  • Problem mit der Skalierung:

    • Achte darauf, die .Top, .Left, .Width und .Height Parameter richtig einzustellen, um die Tabelle an den Inhalt anzupassen.

Alternative Methoden

Falls Du keine Makros verwenden möchtest, kannst Du auch folgende Methoden ausprobieren:

  • Manuelles Kopieren:

    • Markiere den gewünschten Bereich in Excel, kopiere ihn und füge ihn direkt in PowerPoint ein.
  • PowerPoint-Import:

    • Importiere die Excel-Datei in PowerPoint über Einfügen > Objekt > Aus Datei erstellen.

Praktische Beispiele

  1. Einfaches Kopieren einer Tabelle:

    • Markiere die Zeilen und Spalten, die Du übertragen möchtest, und führe das Makro aus, um die Tabelle an den Inhalt anzupassen.
  2. Diagramm aus Excel:

    • Füge Diagramme mit ähnlichem Code ein und passe die Größenparameter entsprechend an.

Tipps für Profis

  • Verwende Schleifen:

    • Implementiere Schleifen im VBA-Code, um dynamisch durch die Zeilen Deiner Tabelle zu iterieren und nur die benötigten Daten zu kopieren.
  • Fehlerbehandlung:

    • Füge Fehlerbehandlungsroutinen hinzu, um dem Benutzer hilfreiche Informationen zu geben, falls etwas schiefgeht.

FAQ: Häufige Fragen

1. Kann ich auch Diagramme aus Excel nach PowerPoint übertragen? Ja, Du kannst Diagramme mit ähnlichem VBA-Code in PowerPoint einfügen.

2. Was ist die maximale Anzahl von Zeilen, die ich kopieren kann? Die maximale Anzahl hängt von der Version von Excel und PowerPoint ab, in der Regel sind es jedoch mehrere Tausend Zeilen. Achte darauf, dass PowerPoint die Darstellung nicht überlastet.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige