Microsoft Excel

Herbers Excel/VBA-Archiv

Innerhalb Sheet verschiedene Druckbereiche festleg

Betrifft: Innerhalb Sheet verschiedene Druckbereiche festleg von: Daniel
Geschrieben am: 13.08.2014 09:35:57

Hallo zusammen,

Habe ein spezielles Problem mit der Erstellung einer pdf Datei aus einem Excel Sheet mit VBA. Die im Forum existierenden Beiträge haben auch nicht weitergeholfen.

Ich habe ein Sheet mit dem Namen "Results". Der Inhalt dieses Sheets soll mit VBA in eine pdf Datei übertragen und abgespeichert werden. Dazu wird ein neues Workbook kreiert, der den gewünschten Druckbereich enthält. Dies ist alles an und für sich kein Problem, aber verschiedene Druckbereiche sollen innerhalb dieses Sheets festgelegt werden und als pdf schön untereinander ausgegeben werden.

1. Der erste Druckbereich im Sheet Results ist Range("B3:G24"), der zweite Range("I2:K50") und der dritte Range("M2:O50"). Wie können diese verschiedene Druckbereiche innerhalb eines Sheets als pdf ausgegeben und schön untereinander (ohne A4 Lücken) dargestellt werden?

2. Die columns müssen auch entsprechend angepasst werden. Wie kann ich mit VBA das Seitenformat der pdf Datei ändern, d.h. konkret die Seitenränder verändern?

Ich danke Euch für Eure Hilfe!

Bisher habe ich folgenden VBA Code implementiert:

'Variablen
Dim datei_name As String 'Dateinamen String
Dim exportname As String
'Neue Datei erstellen
Workbooks.Add
Columns("B:B").ColumnWidth = 14
Columns("C:C").ColumnWidth = 10.71
Columns("D:D").ColumnWidth = 10.71
Columns("E:E").ColumnWidth = 2.29
Columns("F:F").ColumnWidth = 14.29
Columns("G:G").ColumnWidth = 14.29

Columns("I:I").ColumnWidth = 50
Columns("J:J").ColumnWidth = 25
Columns("K:K").ColumnWidth = 25

Columns("M:M").ColumnWidth = 50
Columns("N:N").ColumnWidth = 25
Columns("O:O").ColumnWidth = 25

'bereich in neue Datei kopieren
ThisWorkbook.Sheets("Results").Range("B3:O50").Copy Range("B3")
datei_name = "Results Pdf"
exportname = Application.GetSaveAsFilename(datei_name, _
"PDF-Dateien (*.pdf), *.pdf", , "PDF-Export", "PDF-Export")
'Speichern des PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=exportname, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
'erstellte neue Datei ohne speichern schliessen
ActiveWorkbook.Close False

  

Betrifft: AW: Innerhalb Sheet verschiedene Druckbereiche festleg von: Daniel
Geschrieben am: 13.08.2014 09:52:38

Hi

zu 1)
Excel druckt jeden Druckbereich auf eine eigene Seite.
die von dir gewünschte Anordnung kannst du nur so erreichen:
1. lege ein neues Tabellenblatt an.
2. kopiere die einzelnen Zellbereiche und füge sie auf dem neuen Blatt in der gewünschten Anordnung als "Verknüpfte Grafik" ein (kontextmenü - Inhalte Einfügen - Weitere Infügeoptionen - Verknüpfte Grafik)
das ist dann ein Bild von deiner Exceltabelle, dieses Bild übernimmt aber sofort aluch alle Änderungen.
3. drucke dann die Seite mit den verknüpften Grafiken.

zu 2)
diese Fragen sollten sich mit Hilfe des Recorders beantworten lassen.
Einfach die Seitenränder ändern und das aufzeichnen.

gruß Daniel


  

Betrifft: AW: Innerhalb Sheet verschiedene Druckbereiche festleg von: Daniel
Geschrieben am: 14.08.2014 16:23:44

Hallo,

Super, danke! Hat geklappt...

Gruss,

Daniel


 

Beiträge aus den Excel-Beispielen zum Thema "Innerhalb Sheet verschiedene Druckbereiche festleg"