Excel-Daten automatisch in Word-Berichte oder PDFs gießen – inkl. Logos, Tabellen und Diagrammen. Dieser Leitfaden zeigt die gängigen Muster, von Mailmerge-ähnlichen Platzhaltern bis zur PDF-Erzeugung per VBA.
1) Word aus Excel steuern (Late Binding)
Sub ErzeugeWordReport() Dim wdApp As Object, wdDoc As Object Set wdApp = CreateObject("Word.Application") Set wdDoc = wdApp.Documents.Add wdApp.Visible = True With wdDoc .Content.InsertAfter "Monatsreport" & vbCrLf .Content.InsertAfter "Erstellt am: " & Format(Now, "dd.mm.yyyy") & vbCrLf End With End Sub
Platzhalter ersetzen
Sub PlatzhalterErsetzen(doc As Object, ByVal such As String, ByVal ersatz As String) With doc.Content.Find .Text = such: .Replacement.Text = ersatz .Execute Replace:=2 ' wdReplaceAll End With End Sub
2) PDF direkt aus Excel erzeugen
Sub ExportAsPdf() Dim pfad As String pfad = ThisWorkbook.Path & "\Report_" & Format(Date, "yyyymmdd") & ".pdf" ActiveSheet.ExportAsFixedFormat Type:=0, Filename:=pfad ' 0=xlTypePDF End Sub
3) Praxisfall – 100 Kundenberichte als PDF
Ausgangslage: Excel-Tabelle mit Kunden; je Kunde ein PDF mit Kennzahlen.
Lösung (Skizze)
Sub KundenPDFs() Dim ws As Worksheet: Set ws = Sheets("Kunden") Dim r As Long, lastRow As Long: lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row For r = 2 To lastRow Sheets("Report").Range("B2").Value = ws.Cells(r, 1).Value ' Kundennr setzen ' ggf. Pivot aktualisieren ... Sheets("Report").ExportAsFixedFormat 0, ThisWorkbook.Path & "\Kunde_" & ws.Cells(r,1).Value & ".pdf" Next r End Sub
4) Best Practices
- Druckbereiche/Seitenlayout vordefinieren.
- Schriftarten/Corporate Design als Vorlagen halten.
- Exportpfade/Dateinamen prüfen und loggen.
Fazit
Berichte lassen sich aus Excel heraus vollautomatisch erzeugen – als Word-Dokument oder PDF. Mit Vorlagen steigt die Qualität, mit VBA sinkt der Aufwand.
Code-Generierung
Automatische VBA-Code-Erstellung durch natürliche Sprache
Code-Analyse
Code verstehen und dokumentieren
Debugging
Intelligente Fehlerfindung und -behebung
Code-Verbesserung
Optimierung und Fehlerbehandlung
UI-Design
UserForms über natürliche Sprache erzeugen
Snippet-Verwaltung
Über 100 vorgefertigte Code-Bausteine
Mit dem VBA Assistant schneller ans Ziel
Lassen Sie sich Best Practices vorschlagen, Code erklären und automatisch verbessern.
