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

VBA nacheinander mehrere PDF drucken, Inhalt unterschiedlich

Forumthread: VBA nacheinander mehrere PDF drucken, Inhalt unterschiedlich

VBA nacheinander mehrere PDF drucken, Inhalt unterschiedlich
08.11.2024 18:22:04
Stephan
Liebe Experten,
ich benötige einen VBA Code, der nacheinander mehrere PDFs erstellt.
Der zu druckende Bereich hat immer wieder unterschiedliche Inhalte.
Da die Datei schon sehr umfangreich ist, tue ich mich mit dem anonymisieren schwer - deshalb per Screenshot:
Userbild

Die gelb markierten Felder werden per SVERWEIS aus einem anderen Tabellenblatt befüllt.
Je nachdem, welcher Name in G3 steht (per Dropdown auswählbar), ändern sich die Inhalte.
Die Liste der Namen umfasst z. Zt. ca. 120.

Das Makro sollte den ersten Namen aufrufen, dann von A1:AG23 ein PDF erstellen (Speicherort AN8, Dateiname AN9), dann den 2. Namen aufrufen, wieder ein PDF erstellen usw. bis alle 120 durch sind.

Wie muss der Code dazu lauten? Ich hab davon leider keine Ahnung.
Ich hoffe, die Angaben sind verstänflich.
Vielen Dank, Gruß Stephan

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA nacheinander mehrere PDF drucken, Inhalt unterschiedlich
08.11.2024 20:28:38
Oberschlumpf
Hi Stephan

schade, eigtl hört sich alles interessant und machbar an.
Aber ohne Bsp-Datei kann zumindest ich nich helfen....ich müsst ja, um testen/programmieren zu können, dein bild erst mal in excel "abmalen"...aber dazu fehlt mir die Motivation.

Weiter viel Erfolg!

Ciao
Thorsten
Anzeige
AW: VBA nacheinander mehrere PDF drucken, Inhalt unterschiedlich
09.11.2024 14:07:44
Stephan
Hallo Thorsten,

danke für dein Hilfsangebot.
Hast ja recht... :-) Ich dachte, es könnte auch so gehen, weil sich ja prinzipiell nur ein Name per Dropdown ändert...

siehe bitte https://www.herber.de/bbs/user/173489.xlsm

Gruß Stephan
Anzeige
AW: VBA nacheinander mehrere PDF drucken, Inhalt unterschiedlich
08.11.2024 20:38:17
ralf_b
die ki macht aus deiner Frage sowas.

Sub ErstellePDFs()

Dim i As Integer
Dim NameCount As Integer
Dim Speicherort As String
Dim Dateiname As String

' Anzahl der Namen in der Liste (hier 120)
NameCount = 120

Application.ScreenUpdating = False ' Deaktiviert die Bildschirmaktualisierung für schnelleren Ablauf

For i = 1 To NameCount
' Setze den Namen in G3 (Annahme: Die Namen sind nacheinander in einer Dropdown-Liste zu finden)
Range("G3").Value = Range("G3").Validation.Value(i)

' Hole den Speicherort und Dateinamen aus den Zellen AN8 und AN9
Speicherort = Range("AN8").Value
Dateiname = Range("AN9").Value

' Erstelle das PDF im angegebenen Verzeichnis mit dem spezifischen Dateinamen
ActiveSheet.Range("A1:AG23").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=Speicherort & "\" & Dateiname & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Next i

Application.ScreenUpdating = True ' Aktiviert die Bildschirmaktualisierung wieder
MsgBox "Alle PDFs wurden erfolgreich erstellt!"
End Sub
Anzeige
In der Anlage...
09.11.2024 15:22:23
Case
Moin, :-)

... eine Möglichkeit: ;-)
https://www.herber.de/bbs/user/173490.xlsb

Habe in der Datei den Pfad auf C:\Temp geändert. Musst du noch anpassen. Ohne abschließenden Backslash.

Servus
Case
Anzeige
funktioniert super - noch 1 Frage:
09.11.2024 16:06:20
Stephan
Hallo case,

vielen Dank, das funktioniert super.
Höchstens noch 1 Anmerkung / Frage zum Verständnis:
Beim Übertrag in meine Originaldatei habe ich die Anzahl der Namen auf 22 reduziert, weil die Tabelle noch nicht komplett mit Daten befüllt ist. Ich wollte beim ersten Test nur die PDFs haben, die auch Daten enthalten.

Es wird mir aber trotzdem für jeden Namen ein PDF erstellt, dann eben ohne Inhalt. Klar.
Ich habe 113 Namen in der Tabelle, es entstehen 113 PDFs.
Wozu wird dann aber eine Anzahl angegeben, wenn sowieso das komplette Dropdown durchgegangen wird?
Ist die Angabe der Anzahl der Namen im Code dann also überflüssig? Oder kann man es so einrichten, dass man wirklich weniger PDFs erzeugen kann, wenn man das aus irgendeinem Grund mal braucht?

Gruß Stephan
Anzeige
Da gibt es viele...
09.11.2024 16:23:53
Case
Moin, :-)

... Möglichkeiten (hier gebe ich die Anzahl vor - in AN7): ;-)
https://www.herber.de/bbs/user/173491.xlsb

Man könnte auch ein Von Bis einrichten, oder... Je nachdem wie ihr damit arbeitet. ;-)

Servus
Case
Anzeige
AW: Da gibt es viele...
09.11.2024 17:16:31
Stephan
ok, verstehe.
Die Anzahl in AN7 rechnet von G3 x Zeilen runter.
Wie muss der Code lauten, wenn ich ein Von-Bis verwenden möchte?
Habs versucht, aber keine Ahnung von VBA... :-)
If rngItem.Row = .Range("AN7:AO7").Value Then und die Angabe der Zeilennummer oder Zelladresse in AN7 und AO7 hat nicht geklappt...

Wenn ich Anfang und Ende variabel eingeben kann, kann ich ja alles abdecken, was ich brauche. Komplette Liste oder Teilbereich. Dann ist meine tabelle perfekt :-)
Anzeige
AW: VBA nacheinander mehrere PDF drucken, Inhalt unterschiedlich
09.11.2024 14:03:38
Stephan
Lieber Ralf,

danke für deinen Code.
Mir wird ein Fehler angezeigt:
"Fehler beim Kompilieren: Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft"
Markiert wird ".Value" in der Zeile "Range("G3").Value = Range("G3").Validation.Value(i)"

Userbild

Ich habe hier eine starke vereinfachte Beispieldatei erstellt, die das fehlerhafte Makro enthält. Die Anzahl der Namen im Code habe ich jetzt auf 50 reduziert.
https://www.herber.de/bbs/user/173489.xlsm
Im Tabellenblatt 1 A1:A50 stehen 50 Fake-Namen.
Im Tabellenblatt 2 werden diese in G3 per Dropdown aufgerufen. In G7 wird per SVERWEIS 1 Wert zu jedem Namen angegeben.
Nicht so umfangreich wie das Original, aber es geht ja nur ums Prinzip. Immer ein PDF erstellen, wenn Name und dazugehörige Parameter geändert sind.

Danke, Stephan
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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