VBA – Bildschirmaktualisierung ausschalten
In this Article
So cool es auch aussieht, wenn Ihr VBA-Makro den Bildschirm manipuliert, Sie können Ihr Makro schneller laufen lassen, wenn Sie die Bildschirmaktualisierung ausschalten (deaktivieren).
Bildschirmaktualisierung ausschalten
1. Um die Bildschirmaktualisierung zu deaktivieren, fügen Sie am Anfang Ihres Codes diese Zeile ein:
Application.ScreenUpdating = False
Bildschirmaktualisierung einschalten
2. Um die Bildschirmaktualisierung wieder zu aktivieren, fügen Sie am Ende Ihres Codes diese Zeile ein:
Application.ScreenUpdating = True
VBA – Bildschirmaktualisierung – Beispiel
Ihre Prozedur wird dann folgendermaßen aussehen:
Sub BildschirmAktualisierung_Beispiel()
Application.ScreenUpdating = False
'Etwas tun
Range("a1").Copy Range("b1")
Range("a2").Copy Range("b2")
Range("a3").Copy Range("b3")
Application.ScreenUpdating = True
End Sub
ScreenUpdating – Aktualisierung
Durch die Deaktivierung der Bildschirmaktualisierung wird Ihr VBA-Code VIEL schneller ausgeführt, aber es lässt Ihre Arbeit auch professioneller erscheinen. Endbenutzer möchten in der Regel nicht die Aktionen hinter den Kulissen Ihrer Prozeduren sehen (insbesondere wenn die Prozedur langsam läuft). Auch möchten Sie vielleicht nicht, dass die Endbenutzer die Funktionen hinter den Kulissen sehen (z. B. ausgeblendete Arbeitsblätter). Ich empfehle, die Bildschirmaktualisierung praktisch in allen Ihren Prozeduren zu deaktivieren (und wieder zu aktivieren).
Es gibt jedoch Fälle, in denen Sie den Bildschirm aktualisieren möchten. Um den Bildschirm zu aktualisieren, müssen Sie die Bildschirmaktualisierung vorübergehend wieder einschalten (es gibt keinen Befehl namens „Bildschirm aktualisieren“):
Application.ScreenUpdating = True
'Etwas tun
Application.ScreenUpdating = False
VBA-Einstellungen – Code beschleunigen
Es gibt noch einige andere Einstellungen, mit denen Sie die Geschwindigkeit Ihres Codes verbessern können.
Die Deaktivierung der automatischen Berechnungen kann einen gewaltigen Unterschied in der Geschwindigkeit ausmachen:
Application.Calculation = xlManual
Auch die Deaktivierung der Statusleiste kann einen kleinen Unterschied ausmachen:
Application.DisplayStatusBar = False
Wenn Ihre Arbeitsmappe Ereignisse enthält, sollten Sie diese in der Regel zu Beginn Ihres Verfahrens deaktivieren:
Application.EnableEvents = False
Schließlich kann Ihr VBA-Code verlangsamt werden, wenn Excel versucht, die Seitenumbrüche neu zu berechnen (Hinweis: Nicht alle Prozeduren sind davon betroffen). Um die Anzeige von Seitenumbrüchen zu deaktivieren, verwenden Sie diese Codezeile:
ActiveSheet.DisplayPageBreaks = False
VBA-Programmierung leicht gemacht
Suchen Sie nicht länger online nach VBA-Code. Erfahren Sie mehr über AutoMacro – einen VBA Code Builder, der es Anfängern ermöglicht, Prozeduren von Grund auf mit minimalen Programmierkenntnissen und mit vielen zeitsparenden Funktionen für alle Benutzer zu programmieren!
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!Learn More!