Wenn Steven eine Arbeitsmappe geöffnet und maximiert hat und dann eine oder mehrere zusätzliche Arbeitsmappen öffnet, sehen die zusätzlichen Arbeitsmappen maximiert aus, sind aber nicht wirklich. Die linke, untere und rechte Seite dieser zusätzlichen Arbeitsmappen befinden sich am Rand des Bildschirms, aber die oberen Seiten kaskadieren nach unten, wie Karteikarten, die voneinander versetzt sind. Für Steve wäre es viel besser, wenn die zusätzlichen Arbeitsmappen entweder als kleinerer Teil des Fensters oder als vollständig maximiert geöffnet würden, damit er die Fenster dann auf eine kleinere Größe „wiederherstellen“ könnte. Er fragt sich, ob es eine Einstellung gibt, die die Fenstergröße für diese zusätzlichen Arbeitsmappen beim Öffnen steuert.

Mithilfe von Makros können Sie ziemlich einfach beeinflussen, was mit einem Arbeitsmappenfenster passiert. Der normale Ort dafür ist das Workbook_Open-Makro, ein Ereignishandler im ThisWorkbook-Objekt. Hier ist eine sehr einfache Version, die einfach sicherstellen würde, dass das Fenster maximiert wird:

Public Sub WorkBook_Open()

Application.WindowState = xlMaximized End Sub

Wenn Sie möchten, können Sie die Größe des maximierten Fensters manuell anpassen.

Natürlich können Sie das Makro auch so „ausbauen“, dass es das Fenster auf andere Weise manipuliert. Das folgende Makro bestimmt beispielsweise die maximale Bildschirmgröße des Monitors, auf dem die Arbeitsmappe geöffnet wird, und passt dann die Fenstergröße so an, dass sie 72% der Bildschirmbreite und 96% der Bildschirmhöhe einnimmt.

Public Sub WorkBook_Open()

Dim iMaxWidth As Integer    'Screen width (pixels)

Dim iMaxHeight As Integer   'Screen height (pixels)

Dim sngStartX As Single     'Upper-left corner of desired window     Dim sngStartY As Single     'Upper-left corner of desired window     Dim sngWidth As Single      'Width of desired window     Dim sngHeight As Single     'Height of desired window

'Specifications for final window size     sngStartX = 0.14   'Fraction of screen width from left edge     sngStartY = 0.02   'Fraction of screen height from top     sngWidth = 0.72    'Fraction of screen width desired     sngHeight = 0.96   'Fraction of screen height desired

With Application         'Maximize screen in order to grab maximum width and height         .WindowState = xlMaximized         iMaxWidth = .Width         iMaxHeight = .Height         .WindowState = xlNormal

'Set final window position and size         .Top = iMaxHeight  sngStartY         .Left = iMaxWidth  sngStartX         .Width = sngWidth  iMaxWidth         .Height = sngHeight  iMaxHeight     End With End Sub

Sie können natürlich die Einstellungen in den beiden Variablen (sngWidth und sngHeight) anpassen, um eine andere endgültige Bildschirmgröße auszuwählen. Sie können auch die Einstellungen in den Variablen sngStartX und sngStartY anpassen, um die Position für die obere linke Ecke des letzten Fensters anzugeben.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (4975) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.