Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Mehrere Arbeitsblätter zusammen drucken
#31
Noch ein Versuch:
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:
  • Marcinoy
Antworten Top
#32
Sad 
Confused leider nein selbes Resultat
Antworten Top
#33
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


Angehängte Dateien
.xlsm   DruckLayoutMehrereBlätter.xlsm (Größe: 20,52 KB / Downloads: 3)
.      \\\|///      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:
  • Marcinoy
Antworten Top
#34
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.
Antworten Top
#35
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
   
   Application.ScreenUpdating = True
   
End Sub
Antworten Top
#36
Hallöchen,

Zitat:ach dem Export ändert sich die Orientierung der Seite in den Worksheets.

Du hast die Orientierung ja in einer Variable. Dann setze sie doch nach dem Export nochmal...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#37
Wie genau würdest du dies tun?
Antworten Top
#38
.. Na am Ende der Schleife und anders rum als beim auslesen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#39
also so? wenn ja dann funktioniert nicht

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
      currentSheet.PageSetup.Orientation = currentSheetOrientation
  Next currentSheet
 
  Application.ScreenUpdating = True
 
End Sub
Antworten Top
#40
Hallöchen,
Was bedeutet denn nun funktioniert nicht?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste