VBA Verarbeitung beschleunigen
Wenn man in Excel mittels VBA Werte in Zellen schreibt, kann das mitunter enorm viel Zeit in Anspruch nehmen. Grund dafür ist, das Excel bei jeder Veränderung dynamisch im Hintergrund die Zellwerte neu zu berechnen und die Bildschirmdartellung aktualisiert.
Daher ist es eine gute Idee, diese Dynamik vor einem Programstart in VBA zu deaktivieren. Dazu kann diese Subroutine verwendet werden.
Private Sub enableSpeedup(state As Boolean)
If state Then
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
Else
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
End If
End Sub
So wird dann mit dem Aufruf enableSpeedup(true)
die Verarbeitungsgeschwindigkeit erhöht und mit enableSpeedup(false)
das Standardverhalten wiederhergestellt.
No Comments