Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Druckbereich als PDF speichern
#1
Hallo Zusammen,
Ich habe ein Tabellenblatt, in dem es 179 verschiedene Druckbereiche geben soll. Diese Druckbereiche sind alle benannt. Hamburg, Dortmund, Bremen etc. Bisher musste ich manuell jeden einzelnen Druckbereich speichern. Die PDF hat dann einen von mir vorgegebenen Namen. Also entstehen auch hier 179 verschieden benannte PDF´s. Jetzt würde ich gerne einen Button generieren, der über VBA programmiert ist, alle Druckbereiche (im selben Verzeichnis wie die .xls) als PDF abzuspeichern.
Für mich als Laien sollte der Code übersetzt wie folgt aussehen
:
-speichere Druckbereich "Hamburg" aus "Tabellenblatt1"in "Pfad/Verzeichnis" als PDF unter dem Namen "Hamburg1" - etc und das 179 mal mit verschiedenen Namen und Druckbereichen
Ich hoffe ich konnte einigermaßen verständlich machen, was ich mir wünsche.

Ich bedanke mich schonmal für die Hilfe.
:)
Antworten Top
#2
Hallöchen,

eine Lösung könnte so aussehen. Du musst dazu noch einen Bereich "Bereiche" anlegen, wo Du alle Bereichsnamen außer "Bereiche" eingibst. Das Makro arbeitet dann alle Bereiche ab.

Code:
Sub BereichAlsPDF()
'Variablendeklaration
'Integer
Dim iCnt%
'temporär Blatt einfuegen
Sheets.Add After:=ActiveSheet
'Schleife ueber alle "Bereiche"
For iCnt = 1 To Range("Bereiche").Rows.Count
    'Bereich kopieren
    Range(Range("Bereiche").Cells(iCnt, 1).Value).Copy
    'in temporaeres Blatt einfuegen
    ActiveSheet.Paste
    'Kopiermarkierung zuruecksetzen
    Application.CutCopyMode = False
    'Seite als pdf ausgeben
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="G:\" & Range("Bereiche").Cells(iCnt, 1).Value & ".pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False
    'alle Daten auf temporaeren Blatt loeschen
    Cells.Clear
'Ende Schleife ueber alle "Bereiche"
Next
'temporaeres Blatt loeschen
ActiveSheet.Delete
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste