Drucken mit VBA
#1
Hallo, wer kann mir bitte weiterhelfen - tieferstehendes Makro funktioniert einwandfrei - ich möchte aber, dass dieser Druckbereich auch als pdf.Datei in einen gesonderten Ordner gespeichert wird - habe bis dato leider keinen Erfolg.
Lg Ubi5

Sub DruckeBereich()
Range("A1:B5").PrintOut Copies:=1
End Sub
Antworten Top
#2
Moin!
Schaue Dir folgendes an:
Range.ExportAsFixedFormat-Methode

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Hallo RPP63 - danke für den Hinweis!
Mein Problem ist, dass die sämtlichen Tabellenblätter gedruckt werden und nicht nur das einzelne.
Die Datei besteht aus 30 Tabellen.

Wie kann ich das lösen?

Sub PDFDatei()
'Tabelle als PDF speichern

ThisWorkbook.ExportAsFixedFormat xlTypePDF, _
Filename:="C:\Users\........\NeuesPDF.pdf"

End Sub
Antworten Top
#4
Hi,

wieso verwendest du Workbook.ExportAsFixedformat wenn Ralf dir Range.ExportAsFixedformat empfiehlt? Und dann wunderst du dich, dass zu viel gedruckt wird?
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#5
(04.12.2022, 17:08)Ubi5 schrieb: Mein Problem ist, dass die sämtlichen Tabellenblätter gedruckt werden und nicht nur das einzelne.
Die Datei besteht aus 30 Tabellen.
[Edit] Oops, zu spät! [/Edit]
Es gibt 3 .ExportAsFixedFormat-Methoden
• Workbook. …
• Worksheet. …
• Range. …

Ich benutze .Range, und Du?
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#6
Hallo,

für das ausgewählte Tabellenblatt!

ActiveSheet.ExportAsFixedFormat xlTypePDF, _

Filename:="C:\Users\........\?????????.pdf"

nur der Name des Tabellenblattes fehlt mir noch!
Antworten Top
#7
Lies Dir meine letzte Antwort noch mal in Ruhe durch …

Aber Du bist ja auf dem richtigen Weg:
Workbook → Worksheet → Range
Du darfst (und solltest) korrekt referenzieren!
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#8
Erledigt - funktioniert!

Sub PDFDatei()
'Tabelle als PDF speichern

ActiveSheet.ExportAsFixedFormat xlTypePDF, _
Filename:="C:\Users\........................\" & ActiveSheet.Name & Range("a1") & ".pdf"

End Sub


Danke!
Antworten Top
#9
Du bist aber immer noch nicht beim Range("A1:B5") aus der Threaderöffnung.
Außerdem ist ActiveSheet ein Zufallstreffer.
Mit korrekter Referenzierung meinte ich so etwas (und hoffte, dass Du das verinnerlichst):

Workbooks("DieDatei.xlsm").Worksheets("Rhabarber").Range("A1:B5").ExportAsFixedFormat …

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#10
Funktioniert - Danke für die Unterstützung!
Lg Ubi5


Sub DruckeBereich()
Range("A1:G90").PrintOut Copies:=1
'Tabelle als PDF speichern

ActiveSheet.ExportAsFixedFormat xlTypePDF, _
Filename:="C:\Users\................\" & ActiveSheet.Name & ".pdf"

End Sub
Antworten Top


Gehe zu:


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