Bedingte Seitenumbrüche (Microsoft Excel)
Excel ist ein praktisches Tool, mit dem Sie alle Arten von Daten verfolgen können. Viele Leute verwenden es bei der Arbeit, um Ad-hoc-Berichte für verschiedene Abteilungen oder Projekte zu erstellen. Während Sie mit Ihren Daten arbeiten, fragen Sie sich möglicherweise, wie Sie automatisch Seitenumbrüche einfügen können, wenn sich der Inhalt einer bestimmten Spalte ändert. Beispielsweise haben Sie möglicherweise eine Spalte mit Abteilungsnamen, und Sie möchten möglicherweise, dass jede Abteilung auf einer neuen Seite beginnt.
Dies ist mit der integrierten Zwischensummenfunktion von Excel recht einfach.
Sie müssen lediglich die folgenden Schritte ausführen:
-
Stellen Sie sicher, dass Ihre Tabelle Spaltenbeschriftungen enthält. Wenn beispielsweise Spalte A die Abteilungsnamen enthält, kann Zelle A1 eine Bezeichnung wie „Abteilung“ enthalten. Stellen Sie sicher, dass alle Spalten Beschriftungen haben.
-
Sortieren Sie die Daten in Ihrer Tabelle anhand der Abteilungsspalte als Schlüssel.
-
Wenn noch eine Zelle in der Tabelle ausgewählt ist, wählen Sie im Menü Daten die Option Zwischensummen. Excel zeigt das Dialogfeld Zwischensummen an.
-
Wählen Sie in der Dropdown-Liste Bei jeder Änderung in die Option Abteilung aus.
-
Wählen Sie in der Dropdown-Liste Funktion verwenden die Option Anzahl aus.
-
Wählen Sie in der Liste Zwischensumme hinzufügen zu den Namen der Spalte aus, in der Ihre Zwischensumme angezeigt werden soll.
-
Stellen Sie sicher, dass das Kontrollkästchen Seitenumbruch zwischen Gruppen aktiviert ist.
-
Klicken Sie auf OK. Excel fügt die Zwischensummen und die Seitenzahlen wie angegeben hinzu.
Wenn Sie aus irgendeinem Grund die Zwischensummenfunktion nicht verwenden möchten, können Sie jederzeit ein Makro schreiben, das alle Seitenumbrüche in Ihrem Arbeitsblatt entfernt, und dann an den entsprechenden Stellen neue Seitenumbrüche hinzufügen. Das folgende Makro erledigt den Trick:
Sub PageBreak() Dim CellRange As Range Dim TestCell As Range ActiveSheet.ResetAllPageBreaks Set CellRange = Selection For Each TestCell In CellRange If TestCell.Value <> TestCell.Offset(-1, 0).Value Then ActiveSheet.Rows(TestCell.Row).PageBreak = xlPageBreakManual End If Next TestCell End Sub
Um das Makro zu verwenden, wählen Sie einfach die Zellen aus, die Sie als Schlüssel für die Teilung verwenden möchten, abzüglich der obersten Zelle. Wenn sich die Abteilungen beispielsweise in Spalte A, Zeilen 2 bis 37 befinden, würden Sie den Bereich in A3 bis A37 auswählen. Führen Sie das Makro aus, und alle alten Seitenumbrüche werden entfernt und neue hinzugefügt.
Sie sollten sich darüber im Klaren sein, dass Excel eine Grenze für die Anzahl der manuellen Seitenumbrüche hat, die in einem Arbeitsblatt verwendet werden können. Laut der Knowledge Base liegt diese Grenze bei 1024 Pausen. (Das Limit kann je nach verwendeter Excel-Version geringfügig variieren, liegt jedoch genau um diesen Punkt herum.) Hier ist die obskure Beschreibung des Limits:
http://support.microsoft.com/kb/284916
Das Ergebnis dieser Begrenzung ist, dass das Makro abstürzt, wenn Sie einige Seitenumbrüche einfügen müssen, wenn die Begrenzung für Seitenumbrüche im Arbeitsblatt überschritten wird. Der Fehler sagt etwas in der Art von „Die PageBreak-Eigenschaft kann nicht festgelegt werden.“
_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 (2792) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: