Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1920to1924
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-Druck "Stapel" > Optimierung?

PDF-Druck "Stapel" > Optimierung?
23.02.2023 15:57:47
Michael
Schöne Grüße in die Runde,
ich würde gerne untenstehenden Code in zweierlei Hinsichten optimieren;
1. In TB2 "Datenbank" habe ich versch. Werte (1-10) in Spalte A, durch welche ich gerne die Zuordnung der Ablageordner steuern würde. 1> G:, 2> A: usw.
2. Das Makro beschleunigen! Die PDF's werden aktuell superschnell erstellt und abgelegt (ca. 8-10 Stk./min, je Ordner), jedoch hängt die Abarbeitung in der Arbeitsmappe um ca. 20-30 Files zurück, bis dann auch teilweise der interne Speicher die weiße Fahne schwenkt. Zur Info: Die Datenbank hat aktuell 8000 Einträge, welche als PDF gespeichert werden müssen!
Wäre schön wenn mir hierzu jemand ein paar Tipps geben könnten.
Hierfür schonmal vielen Dank vorab.
Viele Grüße und einen schönen Nachmittag.
Sub Stapelverarbeitung()
Dim TB1 As Worksheet
Dim TB2 As Worksheet
Dim TB3 As Worksheet
Dim TB4 As Worksheet
Dim LR2 As Integer
Dim i As Integer
Dim SP As Integer
Dim ZRNG As Range
Set TB1 = Sheets("Test1")
Set TB2 = Sheets("Datenbank")
Set TB3 = Sheets("Test2")
Set TB4 = Sheets("Test3")
Set ZRNG = TB1.Range("AJ11")

SP = 4
LR2 = TB2.Cells(TB2.Rows.Count, SP).End(xlUp).Row

Start = Application.InputBox("Bitte Startzeile eingeben", "Startzeile", 2)
For i = Start To LR2
ZRNG = TB2.Cells(i, SP)
ActiveWorkbook.Save
Debug.Print i, ZRNG

TB1.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"G:\40644_" & _
TB1.Range("AJ11") & "_" & Format(Date, "YYYYMMDD"), Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
TB3.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"G:\Test2\40644_" & _
TB1.Range("AJ11") & "_" & Format(Date, "YYYYMMDD"), Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
TB4.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"G:\Test3\40644_" & _
TB1.Range("AJ11") & "_" & Format(Date, "YYYYMMDD"), Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False

Next
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: PDF-Druck "Stapel" > Optimierung?
23.02.2023 16:57:20
ChrisL
Hi Michael
Nicht das Gelbe vom Ei, aber bei jedem Schleifendurchgang ein Application.Wait einbauen. Mit der Sekundenzahl musst du experimentieren. Womöglich wird der Prozess deshalb etwas langsamer, aber auf eine Kaffee-Tasse mehr oder weniger, kommt es auch nicht mehr an.
Ferner ist mir noch aufgefallen:
- Muss die Datei in jedem Durchgang neu gespeichert werden?
cu
Chris
AW: PDF-Druck "Stapel" > Optimierung?
24.02.2023 10:37:23
ChrisL
Hi
Danke für die Rückmeldung.
Meine Theorie zum ungewollten Code-Abbruch. Excel sendet Daten an den PDF-/Druckertreiber und dieser hinkt gemäss deiner Beschreibung dem Makro hinterher. Weil die Excel-Applikation und die Druckaufbereitung zwei paar Schuhe sind, lässt sich das Problem m.E. nur dahingehend angehen, dass das Senden von Druckaufträgen künstlich verlangsamt wird. Daher der Vorschlag mit Wait.
Eine Optimierung von Makros würde ich immer anstreben, auch in diesem Fall. Dies obwohl ich im spezifischen Fall davon ausgehe, dass eine Beschleunigung des Makros, das Abbruch-Risiko zusätzlich erhöht. Aber Optimierungen haben ja auch noch andere Vorteile (u.a. Erhöhung der Übersichtlichkeit, Reduktion des Risikos von sonstigen Fehlern etc.) und mit Wait kannst du das Tempo gezielt beeinflussen.
Ich habe geschrieben, dass Wait den Prozess evtl. verlangsamt. Dies nur darum, weil man die Sekundenzahl eher grosszügig festlegen würde. Schafft man es, die Verzögerung genau zu treffen, hätte es eigentlich keinen Einfluss, weil der "Flaschenhals" die Durckaufbereitung ist und nicht das Makro.
Soweit mal meine Theorie ausgeführt. Möglicherweise liege ich damit falsch, aber falls nicht, würde ich mich auf das Problem mit dem Druck-Abbruch fokussieren, denn das Tempo vom Makro wäre gar nicht mehr entscheidend (ist sowieso schon schneller wie die Aufbereitung).
cu
Chris
Anzeige
AW: PDF-Druck "Stapel" > Optimierung?
24.02.2023 11:00:55
Michael
Hi Chris,
vielen herzlichen Dank für Deine Erläuterungen! Ich habe soweit alles verstanden und bin da vollkommen bei Dir. Sobald ich mit den Tests durch bin, gebe ich Dir auf jeden Fall Feedback.
Gute Zeit und bis später.
Michael
AW: PDF-Druck "Stapel" > Optimierung?
23.02.2023 17:52:52
onur
"1> G:, 2> A: usw" ? Nach welcher Logik?
AW: PDF-Druck "Stapel" > Optimierung?
23.02.2023 18:18:27
onur
"ca. 8-10 Stk./min, je Ordner" - ist NICHT superschnell, was aber an den Änderungen in ZRNG und den dadurch erfolgenden Neuberechnungen kommen kjann.
Teste doch mal, wie lange Excel rechnet,. wenn du was in ZRNG änderst und wie lange Excel zum Speichern braucht (auch das Netzwerk könnte dich ausbremsen).
Anzeige
AW: PDF-Druck "Stapel" > Optimierung?
24.02.2023 09:37:08
Michael
Guten Chris, guten Morgen Onur,
erstmal vielen Dank für Euren Input.
@Chris: Application.wait werde ich mal testen, guter Tip!
Ohne Workbook.save wird leider mein Barcode in einem Formular nicht aktualisiert, aber ich teste mal ohne, vielleicht reicht hier schon die PDF-Erstellung.
@Onur: Danke für die Einordnung der Geschwindigkeit, habe hier aber leider keine Vergleichswerte. Mit znrg werde ich auch mal "spielen". Zum Thema "Logik-Spalte A" die Zahlen (1-10) stehen für verschiedene Bereiche, nach denen sollen dann die Laufwerke (A:, B:, C:, etc.), als Ablageort der PDF's, zugeordnet werden. So zumindest mein Denkansatz.
Wäre schön wenn Du noch eine Idee hättest! ;)
Danke Euch Beiden bis hierher, wünsche Euch schonmal ein schönes Wochenende.
VG Michael

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige