Christopher muss innerhalb eines Makros die Größe des Excel-Programmfensters festlegen. Er weiß, wie man die Größe eines Arbeitsblatts im Programmfenster einstellt, aber das braucht er nicht. Er fragt sich, wie er die Gesamtgröße des Programmfensters einstellen kann und ob er es nicht größer als die tatsächliche Bildschirmgröße des Benutzers einstellt.

Dies ist ziemlich einfach, wenn man weiß, welche Objekte und Eigenschaften in Ihrem Makro verwendet werden sollen. Das Objekt, das Sie verwenden möchten, ist das Anwendungsobjekt, das sich auf die Excel-Anwendung bezieht. Hier sind die relevanten Eigenschaften:

Oben. * Das Bildschirmpixel, an dem der obere Rand des Anwendungsfensters platziert werden soll.

Links. * Das Bildschirmpixel, an dem der linke Rand des Anwendungsfensters platziert werden soll.

Breite. * Die Breite des Anwendungsfensters in Pixel.

Höhe. * Die Höhe des Anwendungsfensters in Pixel.

In diesem Sinne können Sie die Position und Größe des Programmfensters folgendermaßen einstellen:

Sub SetWindowSize1()

Application.WindowState = xlNormal     Application.Top = 25     Application.Left = 25     Application.Width = 300     Application.Height = 200 End Sub

Dieses Makro gibt an, dass die obere linke Ecke des Programmfensters 25 Pixel vom oberen Bildschirmrand und 25 Pixel vom linken Bildschirmrand entfernt ist. Dann wird das Programmfenster auf 300 Pixel Breite und 200 Pixel Höhe eingestellt. Beachten Sie auch die Einstellung der WindowState-Eigenschaft am ersten Ende des Makros. Dies versetzt das Fenster in einen „normalen“ Zustand, dh in einen Zustand, dessen Größe auf etwas größer als minimiert und kleiner als maximiert geändert werden kann. (Wenn das Excel-Programmfenster den gesamten Bildschirm einnehmen soll, setzen Sie einfach die WindowState-Eigenschaft auf xlMaximized und vergessen Sie die restlichen Einstellungen im Makro.)

Natürlich setzt dieses Makro das Excel-Programmfenster ziemlich klein.

Höchstwahrscheinlich möchten Sie, dass es größer ist, aber Sie möchten nicht, dass es größer als der Bildschirm des Benutzers ist. Der einfachste Weg, um die Größe des Benutzerbildschirms herauszufinden, besteht darin, einfach das Excel-Anwendungsfenster zu maximieren und dann die Eigenschaften Breite und Höhe zu betrachten. Sie können diese Zahlen dann an die Stelle anpassen, an der sich die obere linke Ecke des Bildschirms befinden soll, und sie dann entsprechend anpassen.

Angenommen, das Programmfenster soll bei 25, 50 beginnen und 1000 x 500 betragen. Sie können Code verwenden, der dem folgenden ähnelt:

Sub SetWindowSize2()

Dim iMaxWidth As Integer     Dim iMaxHeight As Integer     Dim iStartX As Integer     Dim iStartY As Integer     Dim iDesiredWidth As Integer     Dim iDesiredHeight As Integer

iStartX = 50      ' Distance from left     iStartY = 25      ' Distance from top     iDesiredWidth = 1000     iDesiredHeight = 500

With Application         .WindowState = xlMaximized         iMaxWidth = Application.Width         iMaxHeight = Application.Height

' Adjust for starting point         iMaxWidth = iMaxWidth - iStartX         iMaxHeight = iMaxHeight - iStartY         If iDesiredWidth > iMaxWidth Then             iDesiredWidth = iMaxWidth         End If         If iDesiredHeight > iMaxHeight Then             iDesiredHeight = iMaxHeight         End If

.WindowState = xlNormal         .Top = iStartY         .Left = iStartX         .Width = iDesiredWidth         .Height = iDesiredHeight     End With End Sub

_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 (10939) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: