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.

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
Antworten 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
Antworten 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
Antworten Top
#4
Hallo!

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

Gruß, René
Antworten 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)
Antworten 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
Antworten 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
Antworten 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?
Antworten Top
#9
@chris-ka

WoW Perfekt das klappt genauso wie ich mir das vorgestellt habe. Ich bin begeistert...Besten Danke :2828:2828:2828:28:
Antworten 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
Antworten Top


Gehe zu:


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