Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1620to1624
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

PDF gesamt und nicht einzeln drucken

PDF gesamt und nicht einzeln drucken
02.05.2018 09:45:24
Peter
Hallo zusammen,
ich habe ein Makro welches mir nach Nummer Seitenumbrüche macht. Danach wird für jede Nummer ein PDF erstellt.
Was muss ich bitte ändern das auch ein gesamtes erstellt wird also wo quasi alle Seiten in eine Datei kommen,natürlich auch mit den Seitenumbrüchen nach Nummer aber eben keine 200 Einzelseiten sondern ein Dokument mit 200 Seiten?
Vielen Dank für eure Hilfe
Grüße
Peter
Markoauszug:
Dim lngZ As Long
Dim lngZBeginn As Long
'Seitenumbruch je Gruppe (Name) in Spalte setzen
lngZBeginn = 31
For lngZ = 31 To Range("F" & Rows.Count).End(xlUp).Row 'ab Zeile 31
If Range("F" & lngZ) Range("F" & lngZ + 1) Then
'Dienstplan einzeln als PDF ausgeben
ActiveSheet.PageSetup.PrintArea = "A" & lngZBeginn & ":G" & lngZ
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & Range("F" & lngZ) & "_" & Format(Date, "YYYY_MM_DD_") & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
lngZBeginn = lngZ + 1
'Hier kann man die PDF auch gleich an den Drucker senden....
'ActiveSheet.PrintOut
End If
Next
'Druckbereich festlegen
ActiveSheet.PageSetup.PrintArea = "A1:G" & lngZ - 1

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF gesamt und nicht einzeln drucken
02.05.2018 10:05:29
Robert
Hallo Peter,
Du fügst in Deinem Code keine Seitenumbrüche ein, sondern definierst jeweils Druckbereiche. Nachstehendes Makro fügt ab der Zeile 31 bei Änderung der Daten in der Spalte F einen Seitenumbruch ein, erstellt einen Druckbereich von der Zelle A31 bis zur letzten Zeile in Spalte G und erstellt dann ein PDF mit den gewünschten Seitenumbrüchen.
Sub PDFDruck()
Dim lngZ As Long
Dim lngZBeginn As Long
'Seitenumbruch je Gruppe (Name) in Spalte setzen
lngZBeginn = 31
'Alte Steitenumrüche zurücksetzen
ActiveSheet.ResetAllPageBreaks
For lngZ = 31 To Range("F" & Rows.Count).End(xlUp).Row 'ab Zeile 31
If Range("F" & lngZ)  Range("F" & lngZ + 1) Then
'Seitenumbrüche einfügen
ActiveSheet.HPageBreaks.Add Before:=Range("A" & lngZ + 1)
End If
Next
'Druckbereich festlegen
ActiveSheet.PageSetup.PrintArea = "A" & lngZBeginn & ":G" & lngZ - 1
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & Range("F" & _
lngZ) & "_" & Format(Date, "YYYY_MM_DD_") & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
ActiveSheet.ResetAllPageBreaks
End Sub
Gruß
Robert
Anzeige
AW: PDF gesamt und nicht einzeln drucken
02.05.2018 10:22:41
Peter
Hallo Robert,
super vielen Dank funktioniert prima.. eine kleine Frage noch, wenn ich den Dateinamen aus Zelle A9 haben möchte so bricht er ab?
& Cells(A9) & Format(Date, "YYYY_MM_DD_") & ".pdf",
egal ob ich Celle oder Range nehme?
Danke Grüße
Peter
AW: PDF gesamt und nicht einzeln drucken
02.05.2018 10:25:37
mumpel
Hallo!
Range("A9")
Gruß, René
AW: PDF gesamt und nicht einzeln drucken
02.05.2018 10:38:50
Peter
Vielen lieben Dank.. läuft ..
Grüße
Peter
AW: PDF gesamt und nicht einzeln drucken
02.05.2018 10:29:42
Robert
Hallo Peter,
entweder Range("A9") (mit Anführungszeichen) oder Cells(9,1) müsste den Wert aus der Zelle A9 liefern. Man kann beim der Cells-Objekt zwar auch mit Buchstaben arbeiten, also Cells(9,"A"), da bin ich aber kein Freund von. Wenn, muss man aber auch dort die Anführungszeichen setzen.
Gruß
Robert
Anzeige
AW: PDF gesamt und nicht einzeln drucken
02.05.2018 10:40:16
Peter
Danke Robert Range("A9") liefert das gewünschte Ergebnis....
Grüße
Peter

294 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige