Pseudo Serienbrief aus Excel in PDFs drucken

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Pseudo Serienbrief aus Excel in PDFs drucken

    Guten Morgen zusammen,

    ich bin noch ganz frisch hier und brauche erstmal sofort Hilfe ! :saint:

    Folgende Situation:

    Ich habe eine Excel Datei welche auf der ersten Seite ein Deckblatt enthällt. Hier sind zahlreiche Formeln für Verlinkungen hinterlegt. Tippt man in ein bestimmtes Feld (Bsp. A3) eine Händlernummer ein, zieht sich Excel die dazugehörigen Daten aus den jeweiligen hinteren Tabellenblättern. Soweit so gut. Ist das eintippen erfolgt und die Daten gezogen soll das Deckblatt als PDF gespeichert werden (PDF Drucker ist "PDF Creator 2.0.2).

    Da ich allerdings über 2.000 Händler hinterlegt habe und das Ganze ungern immer wieder händisch abtippen, drucken und einen Dateinamen vergeben möchte habe ich mir gedacht, dass kann man bestimmt über ein VBA Makro lösen. Leider fehlt mir jegliche Kenntniss zu VB, ich kenne weder Syntax noch Parameter... ?(

    Könnt ihr mir evtl. Tipps oder noch besser, direkt den Code dazu liefern? :saint: :saint:

    Das Makro soll also im Deckblatt in Bsp. Zelle A3 nacheinander die Werte aus Tabellenblatt XY Spalte A einfügen, nach jedem Wert als PDF drucken und einen Dateinamen vergeben (idialerweise direkt den eingefügten Wert, sprich die Händlernummer). Ob das Makro "silent" abläuft oder im Vordergrund ist hierbei egal, hauptsache es klappt :D Ist das irgendwie realisierbar ?

    Ich wäre euch super dankbar !!!

    LG F3nd3RR

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „F3nd3RR“ ()

    Quellcode

    1. Sub Makro1()
    2. '
    3. ' Makro1 Makro
    4. '
    5. '
    6. Range("B2:C2").Select
    7. Sheets("Zielwerte").Select
    8. Range("A5").Select
    9. Selection.Copy
    10. Sheets("Deckblatt").Select
    11. ActiveSheet.Paste
    12. 'Hier sollte dann gedruckt werden(als PDF)
    13. Sheets("Zielwerte").Select
    14. Range("A6").Select
    15. Application.CutCopyMode = False
    16. Selection.Copy
    17. Sheets("Deckblatt").Select
    18. ActiveSheet.Paste
    19. 'Hier sollte dann gedruckt werden(als PDF)
    20. Sheets("Zielwerte").Select
    21. Range("A7").Select
    22. Application.CutCopyMode = False
    23. Selection.Copy
    24. Sheets("Deckblatt").Select
    25. ActiveSheet.Paste
    26. 'Hier sollte dann gedruckt werden(als PDF)
    27. Sheets("Zielwerte").Select
    28. Range("A8").Select
    29. Application.CutCopyMode = False
    30. Selection.Copy
    31. Sheets("Deckblatt").Select
    32. ActiveSheet.Paste
    33. 'Hier sollte dann gedruckt werden(als PDF)
    34. 'usw....
    35. End Sub


    So inetwa, das drucken sollte auch kein Problem darstellen, PDF als Standard Drucker einstellen und gut ist. Problem ist nur wie übernehme ich den Wert (aus A6 > PRINT, A7> PRINT,...) und bekomme ihn programmübergreifend in das PDF Drucker Fenster das jedesmal einen Dateinamen haben will

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „F3nd3RR“ ()

    In etwa so:

    Visual Basic-Quellcode

    1. ​Sub CreatePdfDocuments()
    2. Dim wsZ As Worksheet, wsD As Worksheet, c As Range
    3. Set wsZ = Sheets("Zielwerte")
    4. Set wsD = Sheets("Deckblatt")
    5. For Each c In wsZ.Range("A5:A" & wsZ.Cells(Rows.Count, 1).End(xlUp).Row)
    6. wsD.Range("A1").Value = c.Value 'ggf. Adresse anpassen
    7. wsD.ExportAsFixedFormat xlTypePDF, "c:\temp\" & c.Value & ".pdf"
    8. Next
    9. End Sub
    Ich hab's jetzt nicht getestet, aber wenn's nicht auf Anhieb funktioniert kannst du ja debuggen oder nochmals fragen.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --