Sub speichern() ' ' speichern Makro ' ' Tastenkombination: Strg+s ' ' PDF Export Macro
Dim ws As Worksheet Dim ssh As Object Dim path As String
path = Application.ThisWorkbook.path Set ssh = ActiveWindow.SelectedSheets For Each ws In ssh Application.PrintCommunication = False ws.Select Application.PrintCommunication = True ws.ExportAsFixedFormat xlTypePDF, Filename:=path & "/" & ws.Name Next ws Sheets("Daten").Select End Sub
Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28 • Marcinoy
30.12.2019, 15:39 (Dieser Beitrag wurde zuletzt bearbeitet: 30.12.2019, 15:39 von schauan.)
Hallöchen,
hattest Du denn auf jedem Blatt schon mal das Layout eingestellt? Wenn nicht, dann ist das so korrekt.
Anbei mal eine Datei, wo ich Hoch- und Querformat eingestellt habe. Bitte z.B. Tabelle1 bis 3 vor Makroausführung selektieren, oder auch nur ein oder zwei Blätter. Tabelle1 sollte quer kommen, die anderen beiden hoch. Klappt bei mir jedenfalls...
Code ist der von Uwe enthalten, leicht geändert:
Code:
Option Explicit Sub speichern() ' ' speichern Makro ' ' Tastenkombination: Strg+s ' ' PDF Export Macro
Dim ws As Worksheet Dim ssh As Object Dim path As String path = Application.ThisWorkbook.path Set ssh = ActiveWindow.SelectedSheets Sheets("Daten").Select For Each ws In ssh ws.Select ws.ExportAsFixedFormat xlTypePDF, Filename:=path & "/" & ws.Name Next ws ssh.Select End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28 • Marcinoy
Ja auch bei diesem Dokument das selbe Problem. Meine Layout Einstellungen müssen richtig sein, wähle ich nämlich nur ein Worksheet aus Dann habe ich das gewünschte Format.
Neu Lösung mit neuen Problemen. Gut: Worksheets werden nun mit der richtigen Orientierung, dem richtigen Namen und am richtigen Ort gespeichert. Schlecht: Die Farben der Zellen im PDF sind anders als im Worksheet und nach dem Export ändert sich die Orientierung der Seite in den Worksheets.
Code:
Sub speichern()
Dim path As String path = Application.ThisWorkbook.path
Dim ssh As Sheets Set ssh = ActiveWindow.SelectedSheets
Application.ScreenUpdating = False
Dim currentSheet As Object Dim currentSheetOrientation As XlPageOrientation For Each currentSheet In ssh currentSheetOrientation = currentSheet.PageSetup.Orientation currentSheet.Copy Application.Wait Now + TimeValue("0:00:03") ActiveSheet.PageSetup.Orientation = currentSheetOrientation ActiveSheet.ExportAsFixedFormat xlTypePDF, Filename:=path & "/" & ActiveSheet.Name ActiveWorkbook.Close SaveChanges:=False Next currentSheet
Dim path As String path = Application.ThisWorkbook.path
Dim ssh As Sheets Set ssh = ActiveWindow.SelectedSheets
Application.ScreenUpdating = False
Dim currentSheet As Object Dim currentSheetOrientation As XlPageOrientation For Each currentSheet In ssh currentSheetOrientation = currentSheet.PageSetup.Orientation currentSheet.Copy Application.Wait Now + TimeValue("0:00:03") ActiveSheet.PageSetup.Orientation = currentSheetOrientation ActiveSheet.ExportAsFixedFormat xlTypePDF, FileName:=path & "/" & ActiveSheet.Name ActiveWorkbook.Close SaveChanges:=False currentSheet.PageSetup.Orientation = currentSheetOrientation Next currentSheet