Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel-Tabs als PDF abspeichern

Excel-Tabs als PDF abspeichern
12.02.2015 14:44:47
Nik
Hallo zusammen,
ich habe 5 Excel-Tabs nebeneinander, die ich nacheinander alle in ein PDF abspeichern möchte, welches dann insgesamt 5 Seiten hat. Dazu habe ich den folgenden VBA-Code implementiert:
Sub PDF_Druck()
Dim sPfad As String
sPfad = Worksheets("Controll").Range("H1")
Sheets(Array("Cover_CS", "CS BiBu", "CS NCA", "CS Attrition", "CS ECIF")).Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
sPfad & "\" & Worksheets("Controll").Range("H2"), Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=False
Sheets("Controll").Select
End Sub
Problem ist das nun aber nur das erste Tab im PDF abgespeichert wird. Was mache ich hier falsch? Sieht jemand spontan den Fehler?
Vielen lieben Dank und Gruss
Nik

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel-Tabs als PDF abspeichern
12.02.2015 14:57:57
Michael
Hallo Nik!
Ungetestet und quick and dirty:
From:=1, To:=1, OpenAfterPublish:=False
probier mal lieber mit
From:=1, To:=5, OpenAfterPublish:=False
Hilfts?
Michael

AW: Excel-Tabs als PDF abspeichern
12.02.2015 15:03:24
Nik
Hallo Michael,
hat insofern schonmal etwas gebracht dass nun tatsächlich 5 Seiten abgespeichert werden, allerdings erscheint nur eine Zelle, nämlich die, die gerade markiert ist. Also "Selection" interpretiert er eigenartig :-( Er soll ja die ganze Seite im PDF abspeichern, nicht nur die eine Zeile.
Hast Du hier eine Idee?
DANKE und Gruss
Nik

AW: Excel-Tabs als PDF abspeichern
12.02.2015 15:33:35
Hans
Ich habe das auch mal probiert und mit fremder Hilfe recht gut hinbekommen, vielleicht kannst du dir hier ja ein paar Infos rausziehen :)
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim strPfad As String, i As Integer
Dim strDateiname As String
On Error GoTo Fehlerbehandlung
strDateiname = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5)
strPfad = "C:\"
For i = 1 To ActiveWorkbook.Worksheets.Count
Sheets(i).ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=strPfad & "\" & strDateiname & "_" & Sheets(i).Name,  _
_
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Next
Exit Sub
Fehlerbehandlung:
Select Case Err.Number
Case -2147018887
MsgBox "PDF-Export ist fehlgeschlagen!" & vbLf & vbLf & _
"Bitte schließen Sie die PDF-Datei (" & strDateiname & ")!", vbExclamation, " _
PDF-Export"
Case Else
MsgBox Err.Description, vbCritical, "Fehler: " & Err.Number
End Select
End Sub

Anzeige
AW: Excel-Tabs als PDF abspeichern
12.02.2015 15:39:32
Daniel
Hi
Selection.Export exportiert die ausgewählten Zellen.
Gruß Daniel

AW: Excel-Tabs als PDF abspeichern
12.02.2015 14:59:48
Daniel
Hi
du weist die Exportfunktion explizit an, nur das erste Blatt zu drucken: From:=1, To:=1
die beiden Parameter einfach nicht angeben, um alles zu drucken.
Ausserdem zeichnet mein Recorder hier dann eine ActiveSheet.PrintOut auf und nicht Selection.PrintOut
Gruß Daniel

AW: Excel-Tabs als PDF abspeichern
12.02.2015 16:21:57
Nik
Hallo zusammen..
..yepp, das war es! :-) Anstatt "Selection" habe ich nun einfach "ActiveSheet" und voila: nun wird das ganze Blatt ausgedruckt. Und dann natürlich noch von 1 bis 5, das war natürlich der erste Fehler.
Vielen lieben DANK für Eure Hilfe und Euch nun einen schönen Abend!
Gruss
Nik

Anzeige
AW: Excel-Tabs als PDF abspeichern
12.02.2015 16:06:20
Michael
Hallo Nik!
Hmm... sieht für mich so aus, als ob man bei "ExportAsFixedFormat" die "ausgewählten Blätter" nicht übergeben kann. Andere Möglichkeit: Du kopierst die gewünschten Tabellenblätter in eine neue Mappe, exportierst diese als pdf, und schließt diese dann wieder.
Sub SpeichernPdf()
Dim sPfad As String
sPfad = Worksheets("Controll").Range("H1")
Sheets(Array("Cover_CS", "CS BiBu", "CS NCA", "CS Attrition", "CS ECIF")).Copy
With ActiveWorkbook
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
sPfad & "\" & Worksheets("Controll").Range("H2"), Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, OpenAfterPublish:=False
.Close SaveChanges:= false
End With
End Sub
LG
Michael
Anzeige

384 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige