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

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.

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

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige