Druck via Makro von zwei Tabellenblättern
29.08.2014 21:25:36
zwei
ich habe neulich Hilfe von Franz bekommen: https://www.herber.de/forum/archiv/1376to1380/t1377667.htm
Ausgangspunkt ist ein Makro, dass Tabelle2 (Querformat) als Multi-Doc druckt und dabei ggf. den Drucktitel (mittlerweile 3 Zeilen) auf der letzten Seite auf zwei Zeilen reduziert und gleichzeitig das Umbrechen der letzten 17 Zeilen verhindert. Soweit ist alles perfekt!
Jetzt habe ich in Tabelle1 zwei Titelseiten im Hochformat (deswegen ein anderes Tabellenblatt) und möchte beide Tabellenblätter mittels eines Makros (oder auch ohne, falls das geht) ausdrucken - Seitenumbruch und Anpassung des Drucktitels funktionieren nun leider nicht mehr. Wer weiß Rat?
Sub Tabelle2()
Call Tabelle1_Titel_drucken
Call Tabelle2_Drucktitel_bedingt_drucken
End Sub
Sub Tabelle1_Titel_drucken()
Sheets("Tabelle2_0").PrintOut Copies:=1, Collate:=True
MsgBox "Titel wird gedruckt"
End Sub
Sub Tabelle2_Drucktitel_bedingt_drucken()
Dim a%, b%, wks As Worksheet, Zeile_L As Long, Zeile_Zus1 As Long
Set wks = Sheets("Tabelle2")
wks.Select
With wks
'Letzte Zeile mit Daten in Spalte Q = letzte Zeile Zusammenfassung
Zeile_L = .Cells(.Rows.Count, 17).End(xlUp).Row 'ggf. Nummer der Spalte anpassen
'1. Zeile der Zusammenfassung
Zeile_Zus1 = Zeile_L - 16
.PageSetup.Order = xlDownThenOver
.PageSetup.PrintTitleRows = "$1:$3"
Application.ActiveWindow.View = xlPageBreakPreview
Application.ActiveWindow.View = xlNormalView
a = ExecuteExcel4Macro("GET.DOCUMENT(50)")
If Zeile_Zus1 b Then
MsgBox "Ausdruck erfolgt in 2 Druck-Jobs. Bei FreePDF im Dialog bitte " _
& "beim 1. Job ""MultiDoc"" wählen, beim 2. ""Ablegen/Auf Desktop""", _
vbOKOnly + vbInformation, "Drucken FreePDF"
Sheets("Tabelle2").PrintOut From:=1, To:=b, Copies:=1, Collate:=True
.PageSetup.PrintTitleRows = "$1:$2"
.PrintOut From:=a, To:=a, Copies:=1, Collate:=True
.HPageBreaks(.HPageBreaks.Count).Delete
.PageSetup.PrintTitleRows = "$1:$3"
Else
.PrintOut
End If
End With
MsgBox "Tabelle wird gedruckt"
End Sub