Zum Hauptinhalt springen

So aktualisieren Sie Ihren Bildschirm in VBA Excel: Nützliche Tipps und Anleitungen

Das Aktualisieren des Bildschirms in Excel VBA spielt eine wichtige Rolle bei der Verwaltung der Effizienz und Geschwindigkeit der Makroausführung. Bei der Ausführung eines Makros aktualisiert Excel standardmäßig den Bildschirm nach jeder durchgeführten Aktion, was zu einer signifikanten Verlangsamung des Prozesses führen kann. Jedoch mit der richtigen Verwendung des Befehls Application.ScreenUpdating sie können den Aktualisierungsprozess des Bildschirms steuern und die Ausführung von Makros beschleunigen.

Wenn der Eigenschaftswert ScreenUpdating ist True, aktualisiert Excel den Bildschirm nach jeder durchgeführten Aktion. Wenn der Eigenschaftswert jedoch False ist, aktualisiert Excel den Bildschirm erst, nachdem der Wert erneut auf True festgelegt wurde. Dies ist besonders nützlich, wenn Sie mit großen Datenmengen und komplexen Makros arbeiten, bei denen die Leistung entscheidend ist.

Es ist wichtig, sich daran zu erinnern, dass, wenn Sie den Befehl verwenden Application.ScreenUpdating = False stellen Sie in einem Makro sicher, dass am Ende des Makros der Eigenschaftswert auf True zurückgesetzt wird. Andernfalls wird der Benutzer davon abgehalten, den Bildschirm zu aktualisieren, was zu unvorhersehbaren Ergebnissen führen kann.

Darüber hinaus gibt es neben der Verwendung der ScreenUpdating-Eigenschaft auch andere Möglichkeiten, die Bildschirmarbeit in Excel VBA zu optimieren. Beispielsweise können Sie die Funktion zum Neuberechnung von Formeln vorübergehend deaktivieren, indem Sie den Befehl verwenden Application.Calculation = xlCalculationManual oder deaktivieren Sie die Anzeige von Quickinfos mit dem Befehl Application.DisplayScreenTips = False. Diese Tricks helfen auch, die Ausführung von Makros zu beschleunigen und die Leistung Ihrer Anwendungen zu verbessern.

Abrufen aktueller Daten zum aktuellen Bildschirm in VBA Excel

Wenn Sie mit VBA Excel arbeiten, müssen Sie möglicherweise Informationen zum aktuellen Bildschirm abrufen, z. B. Größe, Auflösung und Skalierung. Es gibt verschiedene Methoden in VBA Excel, mit denen Sie diese Daten abrufen können.

1. Die Application-Methode.Width und Application.Height ermöglicht es Ihnen, die Breite und Höhe des aktiven Excel-Fensters zu erhalten. Diese Methoden geben Werte in Punkten zurück und können verwendet werden, um die Größe des Fensters zu bestimmen.

2. Die Application-Methode.Windows() gibt eine Auflistung von Window-Objekten zurück, die geöffnete Excel-Fenster darstellen. Sie können für jedes Fenster Informationen zu seiner Größe und Position mithilfe der Window-Eigenschaften abrufen.Width , Window.Height , Window.Top und Window.Left .

3. Die Application-Methode.ScreenResolution() gibt die Bildschirmauflösung in Punkten pro Zoll (DPI) zurück.

4. Die Application-Methode.Zoom gibt die aktuelle Skalierung des aktiven Excel-Fensters zurück. Dies kann bei der Bestimmung der Bildschirmskalierung nützlich sein.

Der folgende Code zeigt beispielsweise, wie Sie Daten zum aktuellen Bildschirm abrufen können:

Sub GetScreenInfo()Dim window As WindowSet window = Application.ActiveWindowDim width As LongDim height As LongDim top As LongDim left As LongDim resolution As LongDim zoom As Long' Получение размеров активного окнаwidth = window.Widthheight = window.Height' Получение позиции активного окнаtop = window.Topleft = window.Left' Получение разрешения экранаresolution = Application.ScreenResolution' Получение масштабирования активного окнаzoom = window.Zoom' Вывод полученных данных в окно сообщенийMsgBox "Ширина окна: " & width & " пунктов" & vbCrLf & _"Высота окна: " & height & " пунктов" & vbCrLf & _"Топ: " & top & " пунктов" & vbCrLf & _"Лево: " & left & " пунктов" & vbCrLf & _"Разрешение экрана: " & resolution & " DPI" & vbCrLf & _"Масштабирование: " & zoom & "%"End Sub

Mit diesem Codebeispiel erhalten Sie aktuelle Informationen zum aktuellen Bildschirm und können diese in einem Meldungsfeld anzeigen.

Mit diesen Methoden können Sie aktuelle Informationen zum aktuellen Bildschirm in VBA Excel abrufen und sie in Ihren Makros und Prozeduren verwenden, um eine flexiblere Arbeit mit Fenstern und Daten zu ermöglichen.

Bestimmen der Bildschirmgröße für die korrekte Aktualisierung

Bevor Sie den Bildschirm in VBA Excel aktualisieren, ist es wichtig, die Bildschirmgrößen des Benutzers zu bestimmen. Dies hilft Ihnen, die Größe von Objekten und Kontrollen auf dem Bildschirm korrekt zu berechnen und sicherzustellen, dass die Informationen korrekt angezeigt werden.

Sie können die Bildschirmgrößen in VBA Excel mit speziellen Funktionen definieren:

FunktionDie Beschreibung
Application.WidthGibt die Breite des Bildschirms in Pixeln zurück.
Application.HeightGibt die Höhe des Bildschirms in Pixeln zurück.

Um beispielsweise die Breite des Bildschirms zu bestimmen und in einer Variablen zu speichern, können Sie den folgenden Code verwenden:

Dim screenWidth As IntegerscreenWidth = Application.Width

Ebenso können Sie die Funktion Application verwenden, um die Bildschirmhöhe zu bestimmen.Height:

Dim screenHeight As IntegerscreenHeight = Application.Height

Nachdem Sie die Bildschirmgröße ermittelt haben, können Sie die resultierenden Werte verwenden, um die Größe von Objekten in Formularen, Tabellen und Arbeitsblättern zu berechnen und festzulegen. Wenn Sie beispielsweise die Größe eines Benutzerfensters in Excel ändern möchten, können Sie die Eigenschaft dieses Fensters verwenden:

ActiveWindow.Width = screenWidthActiveWindow.Height = screenHeight

Auf diese Weise können Sie die Bildschirmgröße bestimmen, um sicherzustellen, dass die Informationen auf dem Bildschirm des Benutzers korrekt angezeigt werden, und den visuellen Teil des Programms in VBA Excel verbessern. Dies ist besonders nützlich, wenn Sie benutzerdefinierte Formulare und Schnittstellen erstellen.

Verwenden der "ScreenUpdating" -Methode zum Steuern der Bildschirmaktualisierung

Sie können die Methode "ScreenUpdating" in VBA Excel verwenden, um die Bildschirmaktualisierung zu steuern. Mit dieser Methode können Sie die Bildschirmaktualisierung vorübergehend deaktivieren, während das Makro ausgeführt wird.

Um die Bildschirmaktualisierung zu aktivieren oder zu deaktivieren, müssen Sie den Wert der Eigenschaft "ScreenUpdating" des Application-Objekts ändern. Im Folgenden sind Beispiele für die Verwendung der Methode "ScreenUpdating" aufgeführt:

Sub DisableScreenUpdating()Application.ScreenUpdating = False' . код макроса . Application.ScreenUpdating = TrueEnd SubSub EnableScreenUpdating()Application.ScreenUpdating = True' . код макроса . Application.ScreenUpdating = FalseEnd Sub

Das obige Beispiel zeigt zwei Ansätze zur Verwendung der Methode "ScreenUpdating". Im ersten Ansatz wird die Bildschirmaktualisierung vor der Ausführung des Makrocodes deaktiviert und nach der Ausführung des Makros aktiviert. Im zweiten Ansatz wird die Bildschirmaktualisierung vor der Ausführung des Makrocodes aktiviert und nach der Ausführung deaktiviert.

Die Verwendung der "ScreenUpdating" -Methode kann in vielen Situationen nützlich sein. Wenn Ihr Makro beispielsweise komplexe Berechnungen durchführt oder große Datenmengen verarbeitet, kann das Deaktivieren der Bildschirmaktualisierung die Ausführung des Makros erheblich beschleunigen.

Es ist auch erwähnenswert, dass die "ScreenUpdating" -Methode keine Auswirkungen auf das Schreiben von Daten in Zellen oder das Ausführen von Formeln hat. Es steuert nur die Anzeige von Änderungen auf dem Bildschirm.