Excel VBA PowerPoint Tutorial
VBA ist ein leistungsstarkes Tool, das in allen Bereichen der integrierten Tools von Microsoft verwendet werden kann. Wie in MS Excel bietet auch Powerpoint die Möglichkeit, ein Makro zu erstellen und die Präsentation zu automatisieren. Die Automatisierung kann von beliebiger Form sein. Sie haben Präsentationen gesehen, bei denen die Folien so groß und detailliert sind, dass manchmal mehr als 50 Folien vorhanden sind, nur um ein Schulungsthema oder einen Bericht zu behandeln. Anstatt die Diagramme in PowerPoint aus Excel hinzuzufügen, können wir einen Code erstellen, der die Diagramme direkt aus Excel kopiert und in die PowerPoint-Folie einfügt.
Wie erstelle ich eine PowerPoint-Präsentation aus Excel VBA?
Unten sehen Sie das Beispiel zum Erstellen einer PowerPoint-Präsentation mit VBA-Code in Excel:
Sie können diese VBA PowerPoint Excel-Vorlage hier herunterladen - VBA PowerPoint Excel-VorlageVBA PowerPoint Beispiel
Lassen Sie uns zuerst ein Diagramm in Excel erstellen. Dafür brauchen wir Daten. Nachfolgend finden Sie einige Verkaufsdaten von 8 Verkäufern.
Jetzt erstellen wir ein Säulendiagramm oder einen Graphen mit Hilfe der obigen Daten. Wir werden unten sehen, wir haben jetzt ein Säulendiagramm mit dem Titel Menge verkauft und alle Etiketten eingefügt.
Jetzt ist es unsere Aufgabe, dieses Diagramm in der PowerPoint-Folie abzurufen, wie es hier mit dem Titel des Diagramms als Titel der PowerPoint-Folie angezeigt wird. Dazu müssen wir das PowerPoint in VBA aktivieren.
Befolgen Sie die folgenden Schritte:
Schritt 1: Gehen Sie zum VBA- Tool- Menü, wie unten gezeigt, und wählen Sie die Option Referenzen…, wie unten gezeigt.
Schritt 2: Sobald wir dies getan haben, erhalten wir ein Referenz-VBA-Projektfenster. Wählen Sie aus dieser Liste die MS PowerPoint 15.0-Objektbibliothek aus (siehe Abbildung unten). Dadurch werden alle Befehle für MS PowerPoint in VBA aktiviert. Ohne dies können wir VBA nicht in PowerPoint ausführen. Aktivieren Sie das Kontrollkästchen der genannten Bibliothek und klicken Sie auf OK .
Schritt 3: Um nun den Code für VBA PowerPoint zu schreiben, benötigen wir ein Modul. Um ein neues Modul zu erhalten, gehen Sie zum Menü Einfügen und wählen Sie eine Moduloption wie unten gezeigt.
Schritt 4: Schreiben Sie in dieses Modul die Unterkategorie von VBA PowerPoint oder einen anderen Namen, wie unten gezeigt.
Code:
Sub VBA_Presentation () End Sub
Schritt 5: Um nun eine Präsentation mit Hilfe von Chart in Excel zu erstellen, benötigen wir einige Variablen. Wir betrachten 5 Variablen als:
- Anwendung für PowerPoint-Anwendung.
- PPT für PowerPoint-Präsentation,
- PPTSlide für PowerPoint-Folie,
- PPTShapes für PowerPoints,
- PPTCharts für Excel-Diagrammobjekt.
Code:
Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject End Sub
Schritt 6: Verwenden Sie nun den Befehl Set, um wie unten gezeigt eine neue PowerPoint- Anwendung hinzuzufügen.
Code:
Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application End Sub
Schritt 7: Machen Sie in einer Codezeile die PowerPoint-Anwendung sichtbar und verwenden Sie msoCTrue, um den falschen Weg auf mysteriöse Weise zu bewerten. Anschließend wird dieselbe Anwendung wie in PowerPoint maximiert verwendet, um die vollständige Ansicht zu erhalten.
Code:
Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.Window ppWindowMaximized End Sub
Schritt 8: Stellen Sie nun die PPT- Datei ein, die in der MS PowerPoint-Anwendung hinzugefügt werden soll.
Code:
Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.Window ppWindowMaximized Set PPT = PAplication.Presentations.Add End Sub
Schritt 9: Jetzt verwenden wir eine Kombination aus For-Next- und If-Else-Schleife. Beginnend mit der For-Next-Schleife.
Code:
Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.Window ppWindowMaximized Set PPT = PAplication.Presentations.Add For Next End Sub
Schritt 10: In der For-Schleife von PPTCharts werden die ersten aktiven Diagramme in Excel angezeigt .
Code:
Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.Window ppWindowMaximized Set PPT = PAplication.Presentations.Add für jedes PPTCharts In ActiveSheet.ChartObjects Next PPTCharts End Sub
Schritt 11: Nachfolgend finden Sie den Code zum Einfügen des Diagramms von Excel in die PowerPoint-Folie. Verwenden Sie Code, um eine Folie in die definierte PAplication einzufügen, und fügen Sie bei jeder Ausführung des Codes +1 Folie hinzu.
Code:
Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.Window ppWindowMaximized Set PPT = PAplication.Presentations.Add For Each PPTCharts In ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText Next PPTCharts End Sub
Schritt 12: Verwenden Sie in der Fortsetzung der nächsten Codezeile den folgenden Code, um eine aktive Fensteransicht festzulegen. Dies wird zum Verschieben verwendet, nachdem das Diagramm in die PowerPoint-Präsentation eingefügt wurde.
Code:
Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.Window ppWindowMaximized Set PPT = PAplication.Presentations.Add For Each PPTCharts In ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.Present.Go = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) Weiter PPTCharts End Sub
Schritt 13: Wählen Sie anschließend die zuvor definierte PPTChart- Variable aus. Kopieren Sie anschließend das ausgewählte aktive Diagramm in den Diagrammbereich, in dem es platziert werden soll. Verwenden Sie den Befehl Inhalte einfügen, um das Diagramm mit Bildern einzufügen.
Code:
Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.Window ppWindowMaximized Set PPT = PAplication.Presentations.Add For Each PPTCharts In ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.Present.Go = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Select Next PPTCharts End Sub
Schritt 14: Wählen Sie nun die Form des Diagramms aus, die als Textbereich an erster Stelle steht. Tragen Sie den gleichen Titel wie " Verkaufte Menge " in die PowerPoint-Präsentation ein.
Code:
Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.Window ppWindowMaximized Set PPT = PAplication.Presentations.Add For Each PPTCharts In ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.Present.Go = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Select PPTSlide.Shapes.FrameText.Text.Text .Chart.ChartTitle.Text Next PPTCharts End Sub
Dies vervollständigt den Code für VBA PowerPoint.
Schritt 15: Kompilieren Sie nun den Code Schritt für Schritt, um festzustellen, ob eine Codezeile fehlerhaft ist, indem Sie die Funktionstaste F8 drücken. Anschließend führen Sie den Code aus, indem Sie auf die Schaltfläche "Abspielen" unterhalb der Menüleiste klicken (siehe Abbildung unten).
Wir werden das Diagramm wie unten gezeigt in der PowerPoint-Datei auf der ersten Folie veröffentlichen.
Da der Code groß ist, wird der vollständige Code im Textfeld unten angezeigt.
Vorteile von Excel VBA PowerPoint
- Die Verwendung von VBA in Powerpoint ist einfach zu handhaben, wenn eine PPT-Datei so viele Folien mit großem Inhalt enthält.
- VBA mit Powerpoint bietet einen Hauch von Automatisierung, auch wenn nur begrenzte Funktionen verfügbar sind.
Nachteile von Excel VBA PowerPoint
- Wir müssen die Microsoft PowerPoint 15.0-Objektbibliothek aus der Option Referenz im Menü Tool auswählen, die wir zu Beginn von Beispiel 1 jedes Mal benötigen, wenn wir den Code für PowerPoint ausführen.
Dinge, an die man sich erinnern sollte
- Speichern Sie die Datei nach dem Schreiben des Codes im Makroaktivierungs-Präsentationsformat. Dies wird uns helfen, den Code nicht zu verlieren und in Zukunft mehrmals denselben Code zu verwenden.
- Die Rekodierungsfunktion funktioniert hier nicht, da wir von Excel zu PowerPoint springen müssen, um die Schnittstelle zwischen den Seiten zu ändern.
- Kompilieren Sie den Code immer, bevor Sie ihn ausführen. Dies wird Ihnen helfen, den Fehler im Code zu finden. Dies ist sehr hilfreich, wenn wir große Codezeilen schreiben.
- Um den Code auszuführen und zu implementieren, müssen wir das Excel-Blatt mit Chart öffnen, das wir in die PowerPoint-Folie einfügen möchten.
- Wir können das Diagramm in PowerPoint gemäß unseren Anforderungen ausrichten.
Empfohlene Artikel
Dies ist eine Anleitung zu VBA PowerPoint. Hier wird erläutert, wie Sie eine PowerPoint-Präsentation aus Excel mithilfe von VBA-Code erstellen. Außerdem wird ein praktisches Beispiel und eine herunterladbare Excel-Vorlage vorgestellt. Sie können auch unsere anderen Artikelvorschläge durchgehen -
- VBA-Spalte löschen
- Statusleiste in Excel
- VBA Duplikate entfernen
- Tabellenkalkulation in Excel erstellen