Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: PDF Export auf mehrere Seiten

PDF Export auf mehrere Seiten
26.05.2020 07:11:51
Pepe
Servus Leute,
ich habe ein kleines Problem. Ich leite mir heute immer mal wieder einen OnePager als PDF aus einer Excel aus, in der ich Risikobewertungen durchführe. Dazu habe ich folgenden Code verwendet:
Sub bt_Generiere_PDF()
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
myFile = ThisWorkbook.Sheets("Master Input ").Range("C1").Value
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" &  _
Format(Date, "YY-MM-DD") & "_" & myFile & "_" & "OnePager" & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End Sub
Jetzt sind die Forderungen, mehrere Tabellen in diese PDF zu exportieren. Das geht auch. Allerdings nur im Hochformat. Folglich wird alles abgeschnitten. DIe Optionen Orientation und FitToPagesWide / Tall kriege ich nicht mehr eingebunden. Wie auch immer ich es probiere. Den Code habe ich zusammengebastelt:
Sub PDF_export()
Sheets(Array("Master Input ", "OnePager basic ")).Copy
myFile = ThisWorkbook.Sheets("Master Input ").Range("C1").Value
With ActiveWorkbook
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & Format(Date, "YY- _
MM-DD") & "_" & myFile & "_" & "OnePager" & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:= _
True, IgnorePrintAreas:=False, OpenAfterPublish:=True
End With
Exit Sub
End Sub

Hat jemand von euch eine Idee?
Vielen Dank im Voraus für eure Hilfe
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: PDF Export auf mehrere Seiten
27.05.2020 18:01:02
fcs
Hallo Pepe,
hier dein Makro mit Ergänzungen.
LG
Franz
Sub PDF_export()
Dim wkbNeu As Workbook
Dim sFilename As String, myFile As String
Dim wks As Worksheet
'Dateiname für PDF festlegen, zwischenspeichern
myFile = ThisWorkbook.Sheets("Master Input ").Range("C1").Value
sFilename = ThisWorkbook.Path & "\" & Format(Date, "YY-MM-DD") & "_" _
& myFile & "_" & "OnePager" & ".pdf"
'zu speichernde Blätter in neue Arbeitsmappe kopieren
Sheets(Array("Master Input ", "OnePager basic ")).Copy
Set wkbNeu = ActiveWorkbook
With wkbNeu
'Seiten-Layout anpassen
For Each wks In .Worksheets
With wks.PageSetup
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Next
'als PDF Sspeichern
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sFilename, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
End With
'als PDF gespeicherte Datei ohne speichern schliessen
wkbNeu.Close savechanges:=False
End Sub

Anzeige
AW: PDF Export auf mehrere Seiten
28.05.2020 07:27:28
Pepe
Hallo Franz,
Danke für das anpassen des Makro's.
Leider kommt der Inhalt der Arbeitsblätter immer noch abgeschnitten auf mehreren Seiten.
Ich habe das Problem mittlerweile gelöst in dem ich per Zellbezug alle Daten auf ein Arbeitsblatt bringe und dann auf einer Seite ausleite. Hier wären zwei Seiten auch toll. Vielleicht kannst du mir ja mit einem Seitenumbruch helfen. Akzeptieren tut VBA das bei mir nicht.
Ich arbeite immer noch mit dem Makro:
Sub bt_Generiere_PDF()
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
myFile = ThisWorkbook.Sheets("Master Input ").Range("C1").Value
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & Format( _
Date, "YY-MM-DD") & "_" & myFile & "_" & "OnePager" & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End Sub
Vielen Dank im Voraus
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

PDF Export auf mehrere Seiten in Excel


Schritt-für-Schritt-Anleitung

Um mehrere Seiten aus Excel als PDF zu exportieren, kannst du folgendes VBA-Makro verwenden. Dieses Makro sorgt dafür, dass die Seiten im Querformat und ohne abgeschnittenen Inhalt exportiert werden.

Sub PDF_export()
    Dim wkbNeu As Workbook
    Dim sFilename As String, myFile As String
    Dim wks As Worksheet

    ' Dateiname für PDF festlegen, zwischenspeichern
    myFile = ThisWorkbook.Sheets("Master Input").Range("C1").Value
    sFilename = ThisWorkbook.Path & "\" & Format(Date, "YY-MM-DD") & "_" & myFile & "_OnePager.pdf"

    ' Zu speichernde Blätter in neue Arbeitsmappe kopieren
    Sheets(Array("Master Input", "OnePager basic")).Copy
    Set wkbNeu = ActiveWorkbook

    With wkbNeu
        ' Seiten-Layout anpassen
        For Each wks In .Worksheets
            With wks.PageSetup
                .Orientation = xlLandscape
                .FitToPagesWide = 1
                .FitToPagesTall = False ' Dadurch werden mehrere Seiten unterstützt
            End With
        Next

        ' Als PDF speichern
        .ExportAsFixedFormat Type:=xlTypePDF, Filename:=sFilename, _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, OpenAfterPublish:=True
    End With

    ' Als PDF gespeicherte Datei ohne speichern schließen
    wkbNeu.Close savechanges:=False
End Sub

Häufige Fehler und Lösungen

  • Problem: Excel als PDF speichern abgeschnitten.

    • Lösung: Stelle sicher, dass du die FitToPagesTall-Eigenschaft auf False setzt, um zu verhindern, dass der Inhalt auf einer Seite abgeschnitten wird.
  • Problem: PDF exportiert nur eine Seite.

    • Lösung: Überprüfe die Seitenumbrüche in deinem Arbeitsblatt. Diese können den Export auf eine Seite beschränken.

Alternative Methoden

Eine alternative Methode zum Exportieren mehrerer Seiten in PDF ist die Verwendung der Excel-Funktion "Drucken". Hier kannst du die Option "Als PDF drucken" wählen und die gewünschten Blätter auswählen. Dies kann eine einfachere Lösung sein, wenn du keine VBA-Programmierung verwenden möchtest.


Praktische Beispiele

Wenn du ein Diagramm in PDF exportieren möchtest, kannst du folgendes Makro verwenden:

Sub Diagramm_exportieren()
    Dim myChart As Chart
    Set myChart = ThisWorkbook.Charts("Diagramm1") ' Ersetze "Diagramm1" durch den Namen deines Diagramms

    myChart.Export Filename:=ThisWorkbook.Path & "\Diagramm.pdf", FilterName:="PDF"
End Sub

Dieses Makro exportiert das angegebene Diagramm als PDF und ermöglicht dir, es in anderen Programmen zu verwenden.


Tipps für Profis

  • Verwende die IncludeDocProperties-Option im ExportAsFixedFormat, um sicherzustellen, dass die Metadaten deines Dokuments in die PDF-Datei aufgenommen werden.
  • Experimentiere mit den FitToPagesWide und FitToPagesTall Einstellungen, um das Layout deiner PDF-Datei zu optimieren.
  • Du kannst auch Zoom auf False setzen, um eine genauere Kontrolle über die Skalierung zu haben.

FAQ: Häufige Fragen

1. Wie exportiere ich nur eine bestimmte Tabelle als PDF? Um nur eine bestimmte Tabelle zu exportieren, kannst du die Sheets-Funktion anpassen, um nur das gewünschte Blatt auszuwählen.

2. Wie kann ich mehrere Tabellen in eine PDF-Datei exportieren? Verwende die Sheets(Array(...)).Copy Methode, um die gewünschten Blätter in eine neue Arbeitsmappe zu kopieren und dann als PDF zu speichern.

3. Warum wird mein PDF abgeschnitten? Dies kann an den Seitenumbrüchen oder den FitToPages Einstellungen liegen. Stelle sicher, dass die Einstellungen korrekt konfiguriert sind und die Blätter ausreichend Platz haben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige