Deaktivieren Sie die Bildschirmaktualisierung - VBA-Codebeispiele

So cool es auch aussieht, wenn Ihr VBA-Makro den Bildschirm manipuliert, können Sie Ihrem Makro helfen, schneller zu laufen, wenn Sie ScreenUpdating deaktivieren (deaktivieren).

Bildschirmaktualisierung deaktivieren

1. Um ScreenUpdating zu deaktivieren, fügen Sie am Anfang Ihres Codes diese Zeile ein:

1 Application.ScreenUpdating = False

Bildschirmaktualisierung aktivieren

2. Um ScreenUpdating wieder zu aktivieren, fügen Sie am Ende Ihres Codes diese Zeile ein:

1 Application.ScreenUpdating = True

Beispiel für die VBA-Bildschirmaktualisierung

Ihr Vorgehen sieht dann wie folgt aus:

1234567891011 Sub ScreenUpdating_Example()Application.ScreenUpdating = False'Etwas tunRange("a1").Copy Range("b1")Range("a2").Copy Range("b2")Range("a3").Copy Range("b3")Application.ScreenUpdating = TrueEnd Sub

Bildschirmaktualisierung aktualisieren

Wenn Sie ScreenUpdating deaktivieren, wird Ihr VBA-Code VIEL schneller ausgeführt, aber Ihre Arbeit wird auch professioneller. Endbenutzer möchten in der Regel die Aktionen hinter den Kulissen Ihrer Verfahren nicht sehen (insbesondere, wenn das Verfahren langsam abläuft). Außerdem möchten Sie möglicherweise nicht, dass Endbenutzer die Funktionen hinter den Kulissen sehen (z. B. versteckte Arbeitsblätter). Ich empfehle, ScreenUpdating in praktisch allen Ihren Verfahren zu deaktivieren (und wieder zu aktivieren).

Es kann jedoch vorkommen, dass der Bildschirm aktualisiert werden soll. Um den Bildschirm zu aktualisieren, müssen Sie ScreenUpdating vorübergehend wieder aktivieren (es gibt keinen Befehl zum „Aktualisieren“ des Bildschirms):

123 Application.ScreenUpdating = True'Etwas tunApplication.ScreenUpdating = False

VBA-Einstellungen - Beschleunigungscode

Es gibt mehrere andere Einstellungen, mit denen Sie spielen können, um Ihre Codegeschwindigkeit zu verbessern.

Das Deaktivieren der automatischen Berechnungen kann einen RIESIGEN Unterschied in der Geschwindigkeit ausmachen:

1 Anwendung.Berechnung = xlManual

Das Deaktivieren der Statusleiste macht auch einen kleinen Unterschied:

1 Application.DisplayStatusBar = False

Wenn Ihre Arbeitsmappe Ereignisse enthält, sollten Sie Ereignisse normalerweise zu Beginn Ihres Verfahrens deaktivieren:

1 Application.EnableEvents = False

Schließlich kann Ihr VBA-Code verlangsamt werden, wenn Excel versucht, Seitenumbrüche neu zu berechnen (Hinweis: nicht alle Verfahren sind betroffen). Um die Anzeige von Seitenumbrüchen zu deaktivieren, verwenden Sie diese Codezeile:

1 ActiveSheet.DisplayPageBreaks = False

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave