Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1804to1808
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

PDF Export aus Excel Blatt

PDF Export aus Excel Blatt
10.01.2021 13:57:56
Martin
Hallo liebes Forum,
ich möchte gerne ein Tabellenblatt als pdf speichern. Dazu habe ich schon einiges an Code geschrieben bzw. mir Hilfe über den Makrorekorder verschafft.
Folgendes soll passieren: Sheet1 soll als pdf exportiert werden. Dabei soll der Exportname aus Zelle C1 gespeist werden. Zudem soll die PDF so angepasst werden, dass alle Spalten auf eine Seite passen. Das funktioniert nun auch gewissermaßen, aber ich bekomme 2 Dateien: eine mit dem richtigen Speichernamen, die sich aber nicht öffnen lässt und eine Mappe1, die funktioniert und auch das Format angepasst wurde. Leider sind bei der Makroaufzeichnung so viele Werte entstanden, dass ich nicht wirklich weiß, welche davon überhaupt nötig sind. Und warum ich 2 Dateien bekomme weiß ich auch nicht wirklich...
Über Hilfe wäre ich sehr dankbar!

Sub PDF_save()
Dim pfad As String
Dim datei As String
Dim dateiname As String
Dim Speichername As Variant
datei = ActiveSheet.Range("C1")
dateiname = datei
Speichername = Application.GetSaveAsFilename(dateiname, "PDF-Dateien (*.pdf),*.xlTypePDF")
If Speichername  False Then
Worksheets("Sheet1").Select
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = "&H&P von &N"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.708661417322835)
.RightMargin = Application.InchesToPoints(0.708661417322835)
.TopMargin = Application.InchesToPoints(0.748031496062992)
.BottomMargin = Application.InchesToPoints(0.748031496062992)
.HeaderMargin = Application.InchesToPoints(0.31496062992126)
.FooterMargin = Application.InchesToPoints(0.31496062992126)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintSheetEnd
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
.EvenPage.LeftHeader.Text = ""
.EvenPage.CenterHeader.Text = ""
.EvenPage.RightHeader.Text = ""
.EvenPage.LeftFooter.Text = ""
.EvenPage.CenterFooter.Text = ""
.EvenPage.RightFooter.Text = ""
.FirstPage.LeftHeader.Text = ""
.FirstPage.CenterHeader.Text = ""
.FirstPage.RightHeader.Text = ""
.FirstPage.LeftFooter.Text = ""
.FirstPage.CenterFooter.Text = ""
.FirstPage.RightFooter.Text = ""
End With
Worksheets("Sheet1").Copy
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF
ActiveSheet.SaveAs Speichername
ActiveWorkbook.Close
Else
MsgBox "Es wurde abgebrochen !"
End If
End Sub

Danke und Gruß,
Martin

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF Export aus Excel Blatt
10.01.2021 14:21:42
ralf_b

Sub PDF_save()
Dim dateiname As String
Dim Speichername As Variant
dateiname = ActiveSheet.Range("C1")
Speichername = Application.GetSaveAsFilename(dateiname, "PDF-Dateien (*.pdf),*.xlTypePDF")
If Speichername  False Then
With Worksheets("Sheet1")
With .PageSetup
.LeftHeader = ""
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
End With
.ExportAsFixedFormat Filename:=Speichername, Type:=xlTypePDF
End With
Else
MsgBox "Es wurde abgebrochen !"
End If
End Sub

AW: PDF Export aus Excel Blatt
10.01.2021 18:54:05
Martin
Perfekt, danke Ralf!
Anzeige
AW: PDF Export aus Excel Blatt
10.01.2021 19:16:43
Martin
Hi Ralf,
eine Kleinigkeit habe ich doch noch. Bei meinem ersten Beispiel hat es gepasst, aber ein 2. Versuch leider nicht ganz. Und zwar wird in der PDF alles komplett auf eine Seite gepackt. Das ist aber nicht nötig alle Zeilen auf ein Blatt zu machen und kann man auch nicht mehr lesen irgendwann. Nur die Spalten sollten in der Breite das A4 Quer gut ausnutzen und die Zeilen können dann auf nachfolgenden Seiten weiterlaufen (gerne mit erneuter Überschrift aus der ersten Zeile). Ist bestimmt nur eine kleine Einstellung, oder?
Danke!
LG
Martin
AW: PDF Export aus Excel Blatt
10.01.2021 22:34:16
ralf_b
Nunja Martin,
du hast Recht. Es ist im Grunde ne Kleinigkeit. Deshalb werde ich dir raten dich mit dem Pagesetup zubeschäftigen. Damit du die Einstellungen nach deinem Gusto anpassen kannst. Wenn du etwas an deinen Seiteneinstellungen zum Drucken änderst kannst du dies mit dem Makrorekorder aufzeichnen. Die Bezeichnungen sind relativ selbstbeschreibend. Wird schon werden.
Gruß
rb
Anzeige
AW: PDF Export aus Excel Blatt
11.01.2021 07:53:42
Martin
So habe ichs gelöst:
.PrintTitleRows = "$4:$4"
.FitToPagesWide = 1
.FitToPagesTall = False

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige