Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: ExcelsisDeo am Mai 08, 2018, 23:47:08 Nachmittag

Titel: Excel 2013: Bestimmte Sheets per Button-Click als pdf speichern
Beitrag von: ExcelsisDeo am Mai 08, 2018, 23:47:08 Nachmittag
Hallöchen,

bin neu hier und bedanke mich schon mal im Voraus für viele Fragen, die mir hier über die Jahre beantwortet wurden ohne, dass ich mich überhaupt erst anmelden musste  ;)

Leider wurde ich dieses mal nicht fündig, da sich meinem Problem neben kuriosen Hürden auch meine mangelnden VBA-Kenntnisse stellen.

Wobei ich dises Mal Eure Hilfe bräuchte (versuche mich so kurz und knapp wie möglich zu fassen)

Ich habe eine Arbeitsmappe mit vielen Arbeitsblättern:
 


Was ich bisher versucht habe

Anmerkung: Das manuelle speichern eines einzelnen Sheets als pdf funktioniert genauso problemlos wie das manuelle speichern der gesamten Arbeitsmappe als pdf.
Wenn ich allerdings mit STRG die gewünschten Sheets markiere und dann nur diese Auswahl als pdf speichern will, erhalte ich ein pdf-File mit leeren Seiten (immerhin die richtige Anzahl an Seiten)


Auf meiner Suche nach einer Lösung im Internet habe ich 2 Ansätze gefunden:

1. Ansatz

Quelle: http://www.herber.de/forum/archiv/1272to1276/1274667_mehrere_Arbeitsblaetter_ein_eine_PDF_speichern.html (http://www.herber.de/forum/archiv/1272to1276/1274667_mehrere_Arbeitsblaetter_ein_eine_PDF_speichern.html)

Sub Sheets2PDF()

    Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Select
   
    Selection.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=ThisWorkbook.Path & "\Mappe.pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=True
   
End Sub

Problem:Erfüllt gerade mal die erste Bedingung, das pdf-File enthält aber nur leere Blätter (siehe Anmerkung oben).

2. Ansatz

Quelle: http://www.clever-excel-forum.de/thread-3990-post-33518.html#pid33518 (http://www.clever-excel-forum.de/thread-3990-post-33518.html#pid33518)

Sub Schaltfläche2_SpeichernUnter1()

Dim arrSheet As Variant
Dim strDatei As String

With ThisWorkbook
    With .Sheets("Tabelle1")
         strDatei:= ThisWorkbook.Path & "\" blabla & ".pdf"
                   
    End With
   .Sheets(Array("Tabelle1", "Tabelle3")).Copy
End With

With ActiveWorkbook
        .ExportAsFixedFormat Type:=xlTypePDF, Filename:=strDatei, _
                             Quality:=xlQualityStandard, _
                             IncludeDocProperties:=True, _
                             IgnorePrintAreas:=False, _
                             OpenAfterPublish:=True
        .Close savechanges:=False
End With
End Sub

Probleme:
Titel: Antw: Excel 2013: Bestimmte Sheets per Button-Click als pdf speichern
Beitrag von: maninweb am Mai 09, 2018, 08:48:17 Vormittag
Hallo,

versuche es mal mit ActiveSheet statt Selection, also so...

Code: Visual Basic
  1. Sub Sheets2PDF()
  2.  
  3.     Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Select
  4.    
  5.     ActiveSheet.ExportAsFixedFormat _
  6.     Type:=xlTypePDF, _
  7.     Filename:=ThisWorkbook.Path & "\Mappe.pdf", _
  8.     Quality:=xlQualityStandard, _
  9.     IncludeDocProperties:=True, _
  10.     IgnorePrintAreas:=False, _
  11.     OpenAfterPublish:=True
  12.    
  13. End Sub

Gruß
Titel: Antw: Antw: Excel 2013: Bestimmte Sheets per Button-Click als pdf speichern
Beitrag von: ExcelsisDeo am Mai 09, 2018, 22:01:03 Nachmittag
Hallo,

versuche es mal mit ActiveSheet statt Selection, also so..

Danke, hat soweit super geklappt. Einfache Lösung.

Zwar speichert er die Datei direkt ab ohne mich nochmal kontrollieren zu lassen, da aber Speichertort und Namensstruktur von Zelleninhalten definiert sind, macht mir das nichts aus.


Vielen Vielen Dank für die schnelle Lösung