Steuern der Fenstergröße beim Öffnen zusätzlicher Arbeitsmappen (Microsoft Excel)
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.