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
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
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
Hallo!
Wo genau steht denn das Datum welches berücksichtigt werden soll?
Gruß, René
Hallo René,
ich würde sagen, einfach nur die Speicherdaten.
@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
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..... ;)
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?
@chris-ka
WoW Perfekt das klappt genauso wie ich mir das vorgestellt habe. Ich bin begeistert...Besten Danke :28
:28
:28
:28:
@ 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