Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Friedrichroda /
Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.

Bestimmte Sheets in PDF umwandeln
#1
Hallo,

ich habe leider folgendes Problem Confused , 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
to 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.
3a2920576572206973742064656e20646120736f206e65756769657269672e
 ?mage

to 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
to top
#4
Hallo!

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

Gruß, René
to 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-2016)
to 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
to 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..... Wink
lg Chris
Feedback nicht vergessen.
3a2920576572206973742064656e20646120736f206e65756769657269672e
 ?mage

[-] Folgende(r) 1 Benutzer sagt Danke an chris-ka für diesen Beitrag:
  • claudia
to 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?
Gruß Ralf

?mage

Die deutsche Rechtschreibung ist Freeware, d.h. du kannst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, deswegen darfst du sie nicht verändern oder in veränderter Form veröffentlichen.
to top
#9
@chris-ka

WoW Perfekt das klappt genauso wie ich mir das vorgestellt habe. Ich bin begeistert...Besten Danke 28282828282828
to top
#10
@ Claudia,

gern geshehen Smile

@ Ralf,

teste es einmal Smile
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.
3a2920576572206973742064656e20646120736f206e65756769657269672e
 ?mage

to top


Gehe zu:


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