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

Forumthread: Datensätze als pdf drucken

Datensätze als pdf drucken
07.03.2022 11:49:04
Meier
Hallo zusammen,
mein Problem ist hier eigentlich schon gut angerissen, ich zitiere mal:
https://www.herber.de/forum/archiv/1496to1500/1499601_Datensatz_drucken_naechster_drucken_naechster.html


Geschrieben am: 17.06.2016 15:42:02 Hallo, habe ein Excel-Tabellenblatt "Profil" erstellt, welches Informationen aus einem anderen Tabellenblatt mittels SVerweis und Summewenns holt. Hierfür muss ich auf dem Tabellenblatt "Profil" in Zelle B3 lediglich über einen Dropdown eine Nummer auswählen und die Daten werden neu gelesen. Die Dropdown ist über eine Datenüberprüfung vom Typ "Liste" erstellt. Die Liste hierbei ist variabel. Nun möchte ich über ein Makro folgendes tun: 1. aktuelles Arbeitsblatt drucken (bekomme ich über Makroaufzeichnen hin) 2. Zelle B3 auf den nächsten Datensatz aus der "Liste" ändern 3. neu ausgelesenes Arbeitsblatt drucken 4. Zelle B3 auf den nächsten Datensatz aus der "Liste" ändern 5. drucken, 6. usw, ... Solange bis in "Liste" keine Daten mehr vorhanden sind. Leider sind meine VBA Kenntnisse bescheiden, von daher hoffe ich auf Eure Unterstützung! Danke u. Gruß Dustbin"
Die Lösung beinhaltet jedoch das Drucken unter einem Dateinamen. Die Lösung sieht wie folgt aus und mit dem Papierdrucker funktioniert das ganze auch bei mir wunderbar.

Sub Drucken()
Dim Rng As Range, Zelle, TB
Set Rng = Sheets("Tabelle2").Range("A2:A20") 'anpassen
Set TB = Sheets("Tabelle1")
For Each Zelle In Rng.SpecialCells(xlCellTypeConstants, 3)
TB.Range("B3") = Zelle.Value
TB.PrintOut
Next
End Sub
Ich möchte die Dateien jedoch unter dem jeweilig in "B3" ausgewählten Zellnamen als pdf speichern, sodass in meinem Zielverzeichnis mehrere pdfs mit unterschiedlichen Namen liegen, die dem ausgewählten Zellwert entsprechen. Wie ist das eine mit dem anderen zu kombinieren? Für Hilfe wäre ich sehr dankbar.
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datensätze als pdf drucken
07.03.2022 11:53:37
Oberschlumpf
aha...und was bitte steht drin in B3?
bevor du als Antwort "nur" B3=xy-Wert shcreibst, zeig doch besser per Upload ne Bsp-Datei mit allem, was erforderlich ist.
AW: Datensätze als pdf drucken
07.03.2022 13:05:16
Meier
In Zelle B3 steht der Suchwert für die abzufragenden Parameter meines Formulars. Dieser soll, wie schon beschrieben, für jeden Druckvorgang als Dateiname herhalten und anschließend geändert werden um das Formular erneut zu drucken. Das Bsp. ist hochgeladen.
https://www.herber.de/bbs/user/151601.xlsm
Anzeige
AW: Datensätze als pdf drucken
07.03.2022 15:45:55
Meier
.
AW: Datensätze als pdf drucken
09.03.2022 07:19:49
Meier
Hat jemand eine Idee?
AW: Datensätze als pdf drucken
09.03.2022 08:56:59
Pierre
Hallo Meier (Vorname wäre netter),
tausche dein vorhandenes Makro gegen das hier aus:

Sub PDFAusListeErzeugen()
Dim ws As Worksheet
Dim i As Long
Set ws = ThisWorkbook.Worksheets("Tabelle1")
'On Error Resume Next           'besser ohne!
With ws
For i = 1 To ws.Cells(Rows.Count, 11).End(xlUp).Row
.Cells(3, 2).Value = .Cells(i, 11).Value
.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\DeinPfad\" _
& .Cells(3, 2).Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Next i
End With
End Sub
Voraussetzung ist natürlich, dass deine Angaben passen, die Liste also in Spalte K und der Dateiname in B3 steht.
Je nach Länge deiner Liste rattert es einige Sekunden.
Bei diesen 11 Sätzen sind es bei mir ca. 2 Sekunden, schätze ich.
Wenn es viel zu lange dauert, ist evtl. eine Möglichkeit über Array zu gehen, das müsste dann aber jemand anderes machen.
Aber vielleicht reicht dir das schon aus.
Gruß Pierre
Anzeige
AW: Datensätze als pdf drucken
09.03.2022 09:51:26
Meier
Also nicht, dass ich sonst unglücklich wär, aber im Moment bin ich gerade besonders glücklich. Funktioniert genau wie es soll. Vielen Dank!!!
bitteschön, gerne (Minimale Korrektur:)
09.03.2022 10:42:27
Pierre

For i = 1 To ws.Cells(Rows.Count, 11).End(xlUp).Row
In der Zeile kannst du das 'ws' löschen, ist dort unnötig.
War noch ein Überbleibsel vom Ursprungscode, aber durch die With-Klammer braucht man diese Referenz dann nicht mehr.
Achtung: Den Punkt vor Cells MUSST du aber unbedingt drin lassen.
Gruß Pierre
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