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:
- Über einen Button-Click soll eine vordefinierte Auswahl an Arbeitsblättern als pdf-File abgespeichert werden.
- Das pdf-File soll dabei im gleichen Ordner abgelegt werden, in dem sich das Excel-File befindet
- Der Name des pdf-File soll aus einer bestimmten Zelle bezogen werden
- Falls möglich: Bevor das pdf-File abgespeichert wird, würde ich gerne Dateinamen und Ordner nochmal kontrollieren können
Was ich bisher versucht habeAnmerkung: 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. AnsatzQuelle:
http://www.herber.de/forum/archiv/1272to1276/1274667_mehrere_Arbeitsblaetter_ein_eine_PDF_speichern.htmlSub 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. AnsatzQuelle:
http://www.clever-excel-forum.de/thread-3990-post-33518.html#pid33518Sub 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:- speichert direkt ohne vorher noch prüfen zu lassen
- Dateiname müsste noch in Abhängigkeit einer bestimmten Zelle definiert werden
- Kurios:ändert die Hintergrundfarbe mancher Zellen. Bpsw. werden alle mit einem bleichen orange hinterlegten Zellen im pdf-File und der temporär angelegten Arbeitsmappe grün
- Die zwischenzeitlich erstellte Mappe ist etwas nervig. Könnte ich aber mit leben