Wenn Dave zwei Arbeitsmappen geöffnet hat, verwendet er häufig Arrange | Horizontal, um sie gleichzeitig anzuzeigen. Dadurch wird der Abstand zwischen den beiden Arbeitsmappen gleichmäßig aufgeteilt. Es kommt jedoch häufig vor, dass Dave nur wenige Datenzeilen in einer Arbeitsmappe und viele Zeilen in der anderen sehen möchte. Er fragt sich, ob es eine bequeme Möglichkeit gibt, die kleinere Arbeitsmappe manuell zu dimensionieren und Excel den verbleibenden Platz auf dem Bildschirm mit der zweiten Arbeitsmappe füllen zu lassen.

Die manuelle Vorgehensweise ist Dave (und den meisten anderen Excel-Benutzern) bereits bekannt: Sie ordnen die Fenster horizontal an, ändern die Größe des oberen Fensters und dann die Größe des unteren Fensters. Auf diese Weise erhalten Sie die Fenster so, wie Sie es möchten, um Ihre Arbeit zu erledigen.

Wenn Sie die Größe der Fenster automatischer ändern möchten, können Sie ein Makro verwenden, um die Aufgabe auszuführen. Das folgende Makro basiert darauf, dass Sie das erste Fenster nach Ihren Wünschen dimensionieren und dann die Größe des zweiten Fensters automatisch ändern, um den verbleibenden Platz unter dem oberen Fenster einzunehmen.

Sub UnevenSplit1()

Dim Ht0 As Single     Dim Ht1 As Single     Dim Ht2 As Single     Dim Top2 As Single

If Windows.Count = 2 Then         With Windows(1)

Ht1 = .Height             .WindowState = xlMaximized             Ht0 = .Height         End With         Top2 = Ht1 + 3         Windows.Arrange ArrangeStyle:=xlHorizontal         With Windows(1)

.Top = 1             .Height = Ht1         End With         With Windows(2)

.Top = Top2             .Height = Ht0 - Ht1 - 22         End With         Windows(1).Activate     End If End Sub

Das Makro ändert die Größe Ihrer Arbeitsmappenfenster nur, wenn nur zwei Arbeitsmappen geöffnet sind. Wenn Sie mehr oder weniger haben, sieht es so aus, als ob nichts passiert.

Sie können die Automatisierung in einem weiteren Schritt ausführen, indem Sie die Größe des Makros auch im oberen Fenster ändern. Das folgende Beispiel endet damit, dass Ihr oberes Fenster 25% des Bildschirms und das untere Fenster 75% des Bildschirms einnimmt.

Sub UnevenSplit()

Dim Ht1 As Single     Dim Ht2 As Single     Dim Ht1a As Single     Dim Ht2a As Single     Dim Top2 As Single

If Windows.Count = 2 Then         Windows.Arrange ArrangeStyle:=xlHorizontal         Ht1 = Windows(1).Height         Ht2 = Windows(2).Height         Ht1a = Ht1 / 2         Top2 = Ht1a + 3         Ht2a = Ht2 + Ht1a

With Windows(1)

.Top = 1             .Height = Ht1a         End With         With Windows(2)

.Top = Top2             .Height = Ht2a         End With         Windows(1).Activate     End If End Sub

Sie sollten sich auch bewusst sein, dass der Wert dieses Makros zum großen Teil davon abhängt, was Sie in Ihren Fenstern sichtbar haben. Wenn Sie die Bänder in ihrer vollen vertikalen Tiefe haben, nimmt dies viel Platz auf dem Bildschirm ein. Tatsächlich kann es so viel dauern, dass das obere Fenster zwar 25% der Bildschirmhöhe einnimmt, jedoch möglicherweise keine Zeilen Ihres Arbeitsblatts anzeigt, da der Platz durch das Menüband und andere Elemente der Benutzeroberfläche belegt wird.

Es gibt zwei mögliche Lösungen. Die erste besteht darin, Bildschirmelemente wie das Menüband zu minimieren. (Doppelklicken Sie auf eine beliebige Multifunktionsleistenregisterkarte, um die Multifunktionsleiste zu minimieren.) Die andere Lösung besteht natürlich darin, dass das Makro unterschiedliche Berechnungen verwendet, um die endgültigen Größen der Fenster zu bestimmen. (Die endgültigen Fensterhöhen befinden sich in den Variablen Ht1a und Ht2a.)

_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 (13380) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365.