Print Title Rows - Wiederholungszeilen!

cheeZy

Mitglied
Hi Leute,

folgendes Prob:
Ich möchte in meine Excel-Datei Zeilen einrichte, die immer wieder oben auf der Seite gedruckt werden (keine Kopfzeile). Das wäre soweit mit der praktischen Excel-Option Wiederholungszeilen kein Problem. Doch natürlich mache ich eins raus, indem ich für die ersten 6 Seiten eine andere Wiederholungszeile, als für die Seiten 7 und 8. Und auf der 9 soll gar keine mehr vorkommen.

Lösungsansatz:
Ich habe mir die Formel zur Bestimmung der Wiederholungszeile rausgesucht.
Sie lautet:
ActiveSheet.PageSetup.PrintTitleRows = "$1:$2" (hierbei werden die ersten beiden Zeilen dazu verwendet, klar!)

Nun wollte ich es eventuell so machen, dass ich unterhalb der 9 Seiten auf Seite 10 die beiden gewollten Wiederholungszeilen einfüge:
Beispiel
Zeile 209: "Dies ist die erste WH-Zeile!"
Zeile 210: "Dies die Zweite!"
Zeile 211: <leer>

Dann wollte ich in ein Modul schreiben:
Pseudo-Code:
Wenn Seite <= 6
dann
ActiveSheet.PageSetup.PrintTitleRows = "$209"
sonst wenn seite <= 8
dann
ActiveSheet.PageSetup.PrintTitleRows = "$210"
sonst
ActiveSheet.PageSetup.PrintTitleRows = "$211"

Ist dies so möglich, oder hat jmd andere Lösungsvorschläge?

Herzlich Dank schonmal!!

Grüße
Carsten

EDIT:

Okay, hab jetzt im Inet etwas gefunden:
HTML:
Option Explicit

Sub Drucken()
    Dim iPage As Integer
    For iPage = 1 To ExecuteExcel4Macro("GET.DOCUMENT(50)")
        With Worksheets("Tabelle1")
            If iPage > 3 Then
                .PrintTitleRows = ""
            End If
            .PrintOut from:=iPage, To:=iPage
        End With
    Next iPage
    With Worksheets("Tabelle1").PageSetup
        .PrintTitleRows = "$2:$3"
    End With
End Sub

Doofer Weise nimmt er .PrintTitleRows = "" nicht an und bricht da mit einer Fehlermeldung ab! :mad:

Kann mir auch jmd kurz in diesem Zusammenhang erläutern, was mit diesem ExecuteExcel4Macro("GET.DOCUMENT(50) gemacht wird?
 
Zuletzt bearbeitet:
Okay, habs jetzt selbst rausbekommen!
Für nachfolgende Epochen die Lösung:

Option Explicit

Sub Drucken()
Dim iPage As Integer

For iPage = 1 To ExecuteExcel4Macro("GET.DOCUMENT(50)")
If iPage <= 6 Then
Worksheets("Tabelle1").PageSetup.PrintTitleRows = "$2:$3"
Else
If iPage <= 8 Then
Worksheets("Tabelle1").PageSetup.PrintTitleRows = "$118:$119"
Else
Worksheets("Tabelle1").PageSetup.PrintTitleRows = ""
End If
End If
Worksheets("Tabelle1").PrintOut from:=iPage, To:=iPage
Next iPage

End Sub

Schönen Tag noch!
 

Neue Beiträge

Zurück