Hintergrundfarbe für Kopf- und Fußzeilen (Microsoft Excel)
Leonid fragte, ob es eine Möglichkeit gebe, eine Hintergrundfarbe für die Kopf- oder Fußzeile einer Seite festzulegen. Die einfache Antwort ist, dass es in Excel keine solche Funktion gibt. Es gibt jedoch einige Möglichkeiten, um das Problem zu umgehen. Wenn Sie beispielsweise Excel 2002 oder Excel 2003 verwenden, können Sie einer Kopf- oder Fußzeile eine Grafik hinzufügen. Mit der richtigen Grafik können Sie den Eindruck erwecken, dass Kopf- und Fußzeile Farbe enthalten, obwohl tatsächlich die Grafik die Farbe enthält.
Eine andere Möglichkeit besteht darin, „falsche“ Kopf- und Fußzeilen zu erstellen. Wenn Sie nur eine andere Farbüberschrift haben möchten, können Sie die ersten Zeilen des Arbeitsblatts als Überschrift verwenden. Diese Zeilen können Sie wie gewünscht formatieren, einschließlich der Einstellung der Farbe der Zeilen. Sie können Excel dann anweisen, diese Zeilen oben auf jeder Seite des Ausdrucks zu wiederholen (verwenden Sie dazu das Dialogfeld „Seite einrichten“).
Das Wiederholen von Zeilen für den Fußzeilenbereich wird problematischer, da Excel keine Funktion enthält, mit der Sie Zeilen am Ende jeder Seite wiederholen können. Das Erstellen eines Makros zum Hinzufügen von Zeilen für Kopf- und Fußzeile ist möglich, führt jedoch zu einer Änderung Ihres Arbeitsblatts. Für die gefälschten Kopf- und Fußzeilen müssen Zeilen hinzugefügt werden.
Betrachten Sie als Beispiel das folgende Makro. Es wird davon ausgegangen, dass Sie links und rechts vom Ausdruck einen 1-Zoll-Rand möchten und nur 46 Zeilen pro Seite drucken möchten. Es legt die Ränder fest und geht dann durch das Arbeitsblatt, wobei nach Bedarf die gefälschten Kopf- und Fußzeilen hinzugefügt werden. (Da das Makro das Design des Arbeitsblatts anpasst, stellen Sie sicher, dass Sie Ihr Arbeitsblatt speichern, bevor Sie das Makro ausführen.)
Sub FakeHeaderFooter() Dim LHeader As String Dim CHeader As String Dim LFooter As String Dim CFooter As String Dim CBottom As Integer Dim CRow As Integer Dim PageSize As Integer LHeader = "Top Left" CHeader = "Top Center" LFooter = "Bottom Left" CFooter = "Bottom Center" PageSize = 46 With ActiveSheet.PageSetup .PrintTitleRows = "" .PrintTitleColumns = "" .PrintArea = "" .LeftHeader = "" .CenterHeader = "" .RightHeader = "" .LeftFooter = "" .CenterFooter = "" .RightFooter = "" .LeftMargin = Application.InchesToPoints(1) .RightMargin = Application.InchesToPoints(1) .TopMargin = Application.InchesToPoints(0) .BottomMargin = Application.InchesToPoints(0) .HeaderMargin = Application.InchesToPoints(0) .FooterMargin = Application.InchesToPoints(0) .PrintHeadings = False .Orientation = xlPortrait End With CBottom = Range("A16000").End(xlUp).Row CRow = 1 Do Until CRow > CBottom If CRow Mod PageSize = 1 Then Rows(CRow).Select Selection.Insert Shift:=xlDown Selection.Insert Shift:=xlDown CBottom = CBottom + 2 Cells(CRow, 1).Value = LHeader Cells(CRow, 4).Value = CHeader Range(Cells(CRow, 1), _ Cells(CRow, 8)).Interior.ColorIndex = 34 Range(Cells(CRow + 1, 1), _ Cells(CRow + 1, 8)).Interior.ColorIndex = xlNone CRow = CRow + 2 ElseIf CRow Mod PageSize = PageSize - 1 Then Rows(CRow).Select Selection.Insert Shift:=xlDown Selection.Insert Shift:=xlDown CBottom = CBottom + 2 Cells(CRow + 1, 1).Value = LFooter Cells(CRow + 1, 4).Value = CFooter Range(Cells(CRow + 1, 1), _ Cells(CRow + 1, 8)).Interior.ColorIndex = 34 CRow = CRow + 2 Else CRow = CRow + 1 End If Loop LastPageNumber = PageNumber + 1 LastRow = LastPageNumber * PageSize If CBottom <> LastRow Then Range(Cells(LastRow, 1), _ Cells(LastRow, 8)).Interior.ColorIndex = 34 Cells(LastRow, 1).Value = LFooter Cells(LastRow, 4).Value = CFooter End If CBottom = Range("A16000").End(xlUp).Row CRow = 2 Do Until CRow > CBottom If CRow Mod PageSize = 1 Then Cells(CRow, 1).PageBreak = xlManual End If CRow = CRow + 1 Loop End Sub
Um die Anzahl der Zeilen pro Seite zu ändern, ändern Sie einfach den Wert, der der Variablen PageSize zugewiesen ist. Sie können auch ändern, was im Bereich „Kopf-“ und „Fußzeile“ angezeigt wird, indem Sie ändern, was den Variablen LHeader, CHeader, LFooter und CFooter zugewiesen ist.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (3056) gilt für Microsoft Excel 97, 2000, 2002 und 2003.