Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: unterschiedliche Druckbereiche in ein .pdf drucken

unterschiedliche Druckbereiche in ein .pdf drucken
20.12.2016 11:39:13
Walter
Hallo!
AUSGANGSSITUATION:
Ein Makro (nochmals Danke an UweD) erzeugt eine variable Anzahl an .pdf-Seiten (je nach gewählten Bereichen zwischen 1 und 13 Seiten) und speichert diese einzeln unter einem Pfad, der im Makro fix definiert ist.
ZIEL:
Es sollen die einzelnen Seiten in ein .pdf gedruckt werden und der Speicherort für dieses .pdf frei gewählt werden können.
Kann mir dabei jemand behilflich sein?
Danke gleich im Voraus.
Beste Grüße
Walter
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: unterschiedliche Druckbereiche in ein .pdf drucken
20.12.2016 15:23:46
Walter
Hallo Michael!
Half leider nicht - dennoch Danke.
Beste Grüße
Walter
Anzeige
AW: unterschiedliche Druckbereiche in ein .pdf drucken
20.12.2016 15:27:53
Michael
Hallo Walter,
dann stell doch mal das Makro hier ein.
Gruß
Michael
AW: unterschiedliche Druckbereiche in ein .pdf drucken
20.12.2016 16:07:16
Walter
Hallo!
Das Makro sieht wie folgt aus:
Sub Drucken()
'Dim LR&, SP%, Z, Arr, TB, RNG$
Dim Pfad$, Datei$
SP = 2 'Spalte mit den Bereichen
Pfad = "C:\Druck\"
With Sheets("DRUCK")
LR = .Cells(.Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
For Each Z In .Range(.Cells(2, SP), .Cells(LR, SP))
If Z  "" Then
Datei = .Cells(Z.Row, SP - 1)
Arr = Split(Z, "!")
Set TB = Sheets(Arr(0))
Rng = Arr(1)
TB.PageSetup.PrintArea = Rng
'PDF
TB.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Pfad & Datei & ".PDF", IgnorePrintAreas:=False
'oder Druck
'TB.PrintOut IgnorePrintAreas:=False
End If
Next
End With
Range("F2:F4").Select
ActiveCell.FormulaR1C1 = "nein"
Range("F5").Select
ActiveCell.FormulaR1C1 = "nein"
Range("F6").Select
ActiveCell.FormulaR1C1 = "nein"
Range("F7").Select
ActiveCell.FormulaR1C1 = "nein"
Range("F8").Select
ActiveCell.FormulaR1C1 = "nein"
Range("F9").Select
ActiveCell.FormulaR1C1 = "nein"
Range("F10").Select
ActiveCell.FormulaR1C1 = "nein"
Range("F11").Select
ActiveCell.FormulaR1C1 = "nein"
Range("F12").Select
ActiveCell.FormulaR1C1 = "nein"
Range("F13:F14").Select
ActiveCell.FormulaR1C1 = "nein"
Range("F15").Select
ActiveCell.FormulaR1C1 = "nein"
Range("G6").Select
ActiveCell.FormulaR1C1 = "ja"
Range("G7").Select
ActiveCell.FormulaR1C1 = "ja"
Range("G12").Select
ActiveCell.FormulaR1C1 = "ja"
Range("G13:G14").Select
ActiveCell.FormulaR1C1 = "ja"
Range("G15").Select
End Sub

Auswahlmaske für den Bediener --> siehe Bild1
Userbild
Zusammenstellung der zu druckenden Dokumente --> siehe Bild2
Userbild
Ich hoffe das macht´s verständlicher - wie gesagt würde ich gerne die zu druckenden Dokumente in ein .pdf drucken und das Makro soll nachfragen, wohin´s gespeichert werden soll.
Danke für das Interesse und die Mühe.
Beste Grüße
Walter
Anzeige
AW: unterschiedliche Druckbereiche in ein .pdf drucken
21.12.2016 12:07:41
Michael
Hallo Walter,
wenn ich das Makro richtig lese, werden die einzelnen PDF - Dokumente entsprechend des eingetragenen Druckbereiches erstellt.
Habe es nicht geschafft, die Abfrage zu den Zellen B2 bis B4 so umzuwandeln, dass nur eine PDF - Datei herauskommt.
Als Lösung könnte ich dir folgenden Code anbieten:
Sub Drucken_2()
Dim varFilename As Variant
varFilename = Application.GetSaveAsFilename( _
InitialFileName:="Meine.pdf", _
fileFilter:="PDF (*.pdf), *.pdf", _
Title:="als PDF speichern")
Dim Rabereich As Range
Set Rabereich = Union(Sheets("Output").Range("B2:N65"), _
Sheets("Output").Range("P2:X65"), _
Sheets("Output").Range("Z2:AG65"))
If varFilename  False Then
Rabereich.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=varFilename, _
IgnorePrintAreas:=False
End If
End Sub
Hat den Nachteil, dass du bei Veränderungen am Druckbereich diesen hier händisch eingeben muss.
Wenn du den Code nimmst, muss du den Namen des Codes (hier: Drucken_2) unter dem End With deines Makros setzen; dann werden zuerst die einzelnen PDF - Dateien in dem vorgegeben Pfad gespeichert und danach wird man gefragt, wo die zusammenhängende Datei abgespeichert werden soll.
Noch eins:
Range("F2:F4").Select
ActiveCell.FormulaR1C1 = "nein"

kann man kürzen:
Range("F2:F4").FormulaR1C1 = "nein"
Gruß
Michael
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige