Bestimmte Sheets in PDF umwandeln
#1
Hallo,

ich habe leider folgendes Problem :s , ich möchte das durch ein Mausklick bestimmte Tabellenblätter in PDF abgespeichert werden. Folgendes habe ich bereits fertig, leider funktioniert es nur für das erste Tabellenblatt, wie kann ich eine Auflistung in VBA machen dass ich mehrere Sheets auswählen kann zum Umwandeln.

Code:
Sub PDF_Umwandlung()
'
' PDF_Umwandlung Makro
'
' Tastenkombination: Strg+u
'
ChDir "C:\Users\claudia\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\claudia\Desktop\Wochenbericht.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End Sub

Danke schonmal für jede Hilfe

claudia
Top
#2
Hi,

Alle markierten Tabellen in einer PDF oder die Blätter einzeln als PDF?

Code:
Sub PDF_Umwandlung()
Dim sh As Worksheet
For Each sh In ActiveWindow.SelectedSheets
sh.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\claudia\Desktop\Wochenbericht.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False
Next
end Sub


das macht mal aus markierten Blättern EINE PDF.
Übrigens sollte nicht noch ein Datum oder/und Uhrzeit zum Dateinamen hinzugefügt werden? (Sonst wird ja das PDF ständig überschrieben)
lg
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Top
#3
Hey chris,

also aus bestimmten Blätter eine PDF-Datei erstellen das mit dem Datum wär dann der nächste Schritt gewesen. Und was heißt dann genau markierte Tabellen? In der unteren Leiste einfach die Blätter die ich
als PDF haben möchte einzel markieren und dann auf mein Button klicken?

lg claudia
Top
#4
Hallo!

Wo genau steht denn das Datum welches berücksichtigt werden soll?

Gruß, René
Top
#5
Hallo René,

ich würde sagen, einfach nur die Speicherdaten.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#6
@chris-ka
Danke erstmal für deine Hilfe, das klappt schonmal sehr gut mit der markierung, nur habe ich bestimmt
10Tabellenblätter die in eine PDF umgewandelt werden müssen. Ich möchte nicht jedesmal alle
Tabellenblätter einzeln markieren, kann ich festlegen welche Tabellenblätter immer umgewandelt werden
sollen?

Das Datum kann vom Tabellenblatt "KW_Auswahl" entnommen werden.
Aus der Zelle "B8" für Tag, "D8" für Monat und "F8" für das Jahr


Danke claudia
Top
#7
Hi,

Code:
Option Explicit
'
'@chris-ka
'Danke erstmal für deine Hilfe, das klappt schonmal sehr gut mit der markierung, nur habe ich bestimmt
'10Tabellenblätter die in eine PDF umgewandelt werden müssen. Ich möchte nicht jedesmal alle
'Tabellenblätter einzeln markieren, kann ich festlegen welche Tabellenblätter immer umgewandelt werden
'sollen?
'Das Datum kann vom Tabellenblatt "KW_Auswahl" entnommen werden.
'Aus der Zelle "B8" für Tag, "D8" für Monat und "F8" für das Jahr
    Sub PDF_Umwandlung()
    Dim str_Date As String, sh As Worksheet
    'ich würde nicht den Desktop als Pfad angeben....
    Const str_path As String = "C:\Users\claudia\Desktop\" '"C:\Temp\"
    Set sh = ActiveSheet
    With Sheets("KW_Auswahl")
        str_Date = .Range("F8").Value & "_" & .Range("D8").Value & "_" & .Range("B8").Value
        'Namen anpassen (der Tabellenblätter!)
        Sheets(Array("abc", "dfg", "xyz")).Select
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        str_path & "Wochenbericht_" & str_Date & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False
        sh.Activate
    End With
End Sub

mal mit einer Ausnahme das ich selctiere..... ;)
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
[-] Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:
  • claudia
Top
#8
Hi,

könnte das auch so gehen?

Code:
Sheets(Array("abc", "dfg", "xyz")).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        str_path & "Wochenbericht_" & str_Date & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False

Aber dann würden vermutlich nur die definierten Blätter ausgedruckt und es können nicht zusätzlich weitere selektiert werden oder?
Top
#9
@chris-ka

WoW Perfekt das klappt genauso wie ich mir das vorgestellt habe. Ich bin begeistert...Besten Danke :2828:2828:2828:28:
Top
#10
@ Claudia,

gern geshehen :)

@ Ralf,

teste es einmal :)
Select sind zu 99,9 % unnötig.
Aber ab und zu..., wobei es würde schon noch eine Lösung geben ohne Select mit Copy -> in neues workbook und daraus die PDF erzeugen, nur performanter wäre der Weg auch nicht.

lg
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Top


Gehe zu:


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