Viele KMU in Ostholstein nutzen PowerPoint täglich: Für Kundenpräsentationen, Schulungen oder interne Berichte. Doch das Erstellen von Präsentationen kostet Zeit – oft zu viel. Warum also nicht automatisieren?
Mit einem kleinen Trick kannst Du PowerPoint-Folien per VBA generieren – und Dir die nötigen Skripte sogar von ChatGPT schreiben lassen. Das spart nicht nur Stunden, sondern sorgt auch für wiederverwendbare Bausteine, zum Beispiel für LinkedIn-Karussells oder wiederkehrende Reports.
Was ist „Ausgabe als VBA“?
„Ausgabe als VBA“ bedeutet: Du formulierst Deine Idee oder Dein Konzept – z. B. „Erstelle eine 10-seitige Präsentation zum Thema SQL Server 2025 mit Code-Snippets“ – und lässt Dir von ChatGPT direkt den dazugehörigen VBA-Code liefern.
VBA steht für „Visual Basic for Applications“ und ist in Microsoft Office integriert – Du brauchst also keine zusätzliche Software oder Entwicklerumgebung. Nur PowerPoint und ein bisschen Mut zur Automatisierung.
Warum ist das sinnvoll?
Ganz einfach:
- Zeitersparnis: Einmal aufgesetzt, kannst Du per Klick neue Präsentationen generieren – angepasst auf Kunden, Themen oder Zielgruppen.
- Wiederverwendbarkeit: Strukturiere Inhalte als Vorlage – z. B. 10 Folien: Hook – Problem – Lösung – CTA – und produziere daraus regelmäßig neue Inhalte.
- KI-gesteuert: ChatGPT liefert schnell passende Texte, Überschriften und sogar Beispielcode (T‑SQL, Python, Shell…) für jede Seite.
Schritt-für-Schritt-Anleitung
So gehst Du vor, um PowerPoint-Präsentationen automatisch zu erzeugen:
1. PowerPoint öffnen & in den VBA-Editor wechseln
- Öffne PowerPoint (beliebige Datei oder leer).
- Drücke
ALT + F11, um den VBA-Editor zu öffnen. - Wähle im Menü „Einfügen > Modul“, um ein neues VBA-Modul zu erzeugen.
2. ChatGPT befragen
Formuliere z. B. so:
„Erstelle mir ein VBA-Makro, das eine 10-seitige PowerPoint-Präsentation im 1:1-Format erzeugt mit den Themen X, Y, Z – optional mit Beispiel-Code auf den Slides.“
Wichtig: Sag ChatGPT gleich, dass es VBA-Code ausgeben soll, sonst bekommst Du nur allgemeine Tipps.
3. Code aus ChatGPT kopieren
- Den Code aus der Antwort einfach 1:1 in Dein PowerPoint-VBA-Modul kopieren.
- Speichern als
.pptm-Datei (Makro-kompatibel).
4. Makro ausführen
- Im Editor
F5drücken oder aus dem Menü „Ausführen“ starten. - Die Folien werden automatisch erstellt – Du kannst Text, Layout oder Farben nachträglich anpassen.
Was kann man automatisieren?
Beispiele aus dem Alltag:
- Produktpräsentationen mit Bildern, Headlines und T‑SQL-Beispielen
- LinkedIn-Posts als Karussell (quadratisches Format, ein Thema in 10 Teilen)
- Schulungsunterlagen oder Kundeninfos auf Knopfdruck
- Wöchentliche Reports aus Datenbanken (kombiniert mit Excel und Access VBA)
Für Fortgeschrittene
Das Ganze lässt sich natürlich weiterdenken:
- Texte, Überschriften und CTA von ChatGPT automatisch generieren
- Daten aus Access oder SQL Server lesen und als Folien visualisieren
- Designvorlagen, Logos oder Icons einbinden
- Bilder oder Diagramme automatisch per URL oder Ordnerpfad einfügen
Und mit Tools wie ClipChamp, Publer oder Meta Business Suite kannst Du die Inhalte gleich weiterverwenden – für Instagram, Facebook, LinkedIn oder interne Präsentationen.
Wenn Du PowerPoint noch manuell baust, vergeudest Du Zeit. Die Kombination aus VBA und ChatGPT ist ein echter Produktivitätshebel – besonders für wiederkehrende Inhalte.
Gerade für KMU mit wenig Personal und viel Kommunikationsbedarf lohnt sich das – weil Automatisierung heute keine Spielerei mehr ist, sondern ein Wettbewerbsvorteil.
Sönke Schäfer, VBA-Experte bei SeSoft GmbH Web/Database/Solutions
Der vollständige Power Point VBA-Code aus ChatGPT
Sub CreateFancySQLDeck()
Dim ppt As Presentation
Dim s As Slide
Dim i As Integer
Dim logoPath As String: logoPath = "C:\Vorlagen\logo.png"
Dim bgPath As String: bgPath = "C:\Vorlagen\background10.jpg"
Set ppt = Presentations.Add
ppt.PageSetup.SlideWidth = 720
ppt.PageSetup.SlideHeight = 720
' Designfarbe (z. B. Datenschäfer-Orange)
Dim headlineColor As Long: headlineColor = RGB(255, 102, 0)
Dim bgColor As Long: bgColor = RGB(245, 245, 245)
Dim topics As Variant
topics = Array( _
Array("Warum SQL Server 2025 ein Game-Changer ist", ""), _
Array("Motivation: Konkurrenz zieht davon? Zeit aufzurüsten.", ""), _
Array("AI & Vector Search", "CREATE VECTOR INDEX vi ON dbo.Embeddings(vec_column);"), _
Array("REST aus SQL", "EXEC sp_invoke_external_rest_endpoint 'MyModel', @input;"), _
Array("RegEx & JSON Index", "SELECT * FROM dbo.Table WHERE col REGEXP '^[A-Z]{3}\\d+';"), _
Array("Change Streaming", "SELECT * FROM dbo.Table WHERE __$operation = 'UPDATE';"), _
Array("Fabric Mirror & Arc", "ALTER DATABASE db SET REMOTE_DATA_ARCHIVE = ON;"), _
Array("Optimiertes Locking", "ALTER DATABASE SCOPED CONFIGURATION SET OPTIMIZED_LOCKING = ON;"), _
Array("Copilot & Python Driver", "Mit SSMS21 + Open-Source-Driver alles im Griff"), _
Array("Los geht's! Testen, trainieren, automatisieren!", "") _
)
For i = LBound(topics) To UBound(topics)
Set s = ppt.Slides.Add(i + 1, ppLayoutBlank)
s.FollowMasterBackground = msoFalse
s.Background.Fill.BackColor.RGB = bgColor
' Logo einfügen (oben links)
On Error Resume Next
s.Shapes.AddPicture FileName:=logoPath, _
LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, _
Left:=20, Top:=20, Width:=60, Height:=60
On Error GoTo 0
' Titel
With s.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 60, 520, 100)
With .TextFrame.TextRange
.Text = topics(i)(0)
.Font.Name = "Segoe UI Semibold"
.Font.Size = 28
.Font.Color.RGB = headlineColor
End With
End With
' Inhalt oder Code
If topics(i)(1) <> "" Then
With s.Shapes.AddTextbox(msoTextOrientationHorizontal, 80, 180, 560, 400)
With .TextFrame.TextRange
.Text = topics(i)(1)
.Font.Name = IIf(Left(topics(i)(1), 6) = "SELECT" Or Left(topics(i)(1), 6) = "CREATE", "Consolas", "Segoe UI")
.Font.Size = 16
.Font.Color.RGB = RGB(50, 50, 50)
End With
.Fill.ForeColor.RGB = RGB(255, 255, 255)
.Line.ForeColor.RGB = RGB(220, 220, 220)
End With
End If
' Letzte Folie: Bildhintergrund
If i = 9 Then
On Error Resume Next
s.FollowMasterBackground = msoFalse
s.Background.Fill.UserPicture bgPath
On Error GoTo 0
' CTA-Overlay
With s.Shapes.AddTextbox(msoTextOrientationHorizontal, 60, 500, 600, 100)
With .TextFrame.TextRange
.Text = "Jetzt testen, Kollegen einladen, Daten automatisieren!" & vbCrLf & "Datenschäfer - www.sesoft.de"
.Font.Name = "Segoe UI"
.Font.Size = 18
.Font.Bold = True
.Font.Color.RGB = RGB(255, 255, 255)
End With
.Fill.BackColor.RGB = RGB(0, 0, 0)
.Fill.Transparency = 0.3
End With
End If
Next
ppt.SaveAs "C:\Temp\SQL2025_Pitch.pptm"
ppt.Close
MsgBox "Präsentation erstellt in C:\Temp\SQL2025_Pitch.pptm", vbInformation
End Sub