Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1768to1772
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA mit Druckschliefe ein Gesamt-pdf

VBA mit Druckschliefe ein Gesamt-pdf
01.07.2020 12:44:20
Micha
Hallo zusammen, habe leider nicht den richtigen Eintrag gefunden. Ich benötige eure Hilfe. Ich habe ein Arbeitsblatt mit Daten, die auf einem anderen Datenblatt ausgewertet werden. Dazu durchläuft ein Makro die laufende Nummer und führt einen Druck zu jeder Nummer aus. Jetzt sollen alle Einzeldrucke als ein Gesamt-pdf-Dokument erstellt werden. Ich weiß an dieser Stelle nicht, wie das in meine Schleife eingebettet werden kann. Die Schleife sieht so aus:

Sub proDruck()
Dim lngZeileMax As Long
lngZeileMax = Worksheets("zr014.50").Range("B10000").End(xlUp).Row
b = Worksheets("zr014.50").Range("B" & lngZeileMax).Value
'Druckschleife
For i = 1 To 5
Sheets("Tabelle1").Cells(2, 2).Value = i
Application.PrintCommunication = False
'Druckbereich festlegen
Dim lngCounter As Long
lngCounter = 114    'druckt immer bis Zeile 114
' pr?ft Spalte A; wenn Daten ?ber Zeile 100 hinaus vorhanden sind, wird der Druckbereich
' entsprechend erweitert
Do While Cells(lngCounter + 1, 1).Value  ""
lngCounter = lngCounter + 1
Loop
ActiveSheet.PageSetup.PrintArea = _
ActiveSheet.Range("A1:L" & lngCounter).Address
With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 0
End With
Application.PrintCommunication = True
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Next i
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA mit Druckschliefe ein Gesamt-pdf
02.07.2020 08:48:54
MCO
Hallo Michael!
Da du ja jedesmal den gleichen Sheet neu ausdruckst kann Excel das nicht kombinieren.
du könntest 5 Blätter anlegen und die alle (auf einmal) in eine Datei ausdrucken...
Deinen Code hab ich mal bereinigt:
lngZeileMax raus, kommt nicht vor
b raus, kommt nicht vor
Schleife für lngCounter raus, Wert direkt hergeleitet
With für Activesheet angepasst
Außerdem kann man die Zuordnung der Sheets nicht nachvollziehen:
Mal ist es Activesheet, mal Worksheets("zr014.50"), dann Sheets("Tabelle1")
Kann richtig sein, weiß ich aber nicht.
    Dim i As Single, lngCounter As Single
For i = 1 To 5    'Druckschleife
Sheets("Tabelle1").Cells(2, 2).Value = i
Application.PrintCommunication = False
'Dim
lngCounter = 114    'druckt immer bis Zeile 114
If Cells(lngCounter + 1, 1)  "" Then lngCounter = Cells(lngCounter, 1).End(xlDown). _
Row
With ActiveSheet
.PageSetup.PrintArea = .Range("A1:L" & lngCounter).Address
With .PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 0
End With
Application.PrintCommunication = True
.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
End With
Next i
Viel Erfolg!
Gruß, MCO
Anzeige
AW: VBA mit Druckschliefe ein Gesamt-pdf
03.07.2020 07:22:17
Micha
Hallo MCO,
erstmal vielen Dank für deine Antwort! Hab's mir schon fast gedacht, dass das so vermutlich gar nicht geht. Hatte aber die Hoffnung, dass es auch über VBA eine Möglichkeit gibt, welche der Druckfunktion beim Serienbrief in Word entspricht. Da macht er es ja, wenn ich einen PDF-Drucker auswähle...
Was meinen Code angeht, muss ich mich fast ein bisschen entschuldigen. Den hätte ich wirklich schon mal bereinigen müssen - mache ich jetzt auch mal - also Danke für den Anstoß - hat aber trotzdem funktioniert...
Gruß Micha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige