VBA Code beschleunigen

On 31. Juli 2010, in Office, by Andreas Neuhauser

Greift man häufig via VBA auf Zellen bzw. Zelleninhalte zu, lohnt sich folgender VBA Snippet zum Erreichen einer besseren Performance.

Dim oldCalculation As Long
oldCalculation = Application.Calculation
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableEvents = False
End With

Hier Code einfügen, der auf die Zellen zugreift

With Application
.ScreenUpdating = True
.Calculation = oldCalculation
.EnableEvents = True
End With

Dieser Code bewirkt, dass der Bildschirm während der Zugriffe nicht aktualisiert wird und somit nicht flackert. Weiters wird die automatische Berechnung abgestellt und erst nach dem Abarbeiten des Codes wieder aktiviert.

EnableEvents regelt dabei ob EventHandler bei gewissen Aktionen ausgelöst werden sollen. Bei Deaktivierung werden keine Events mehr weitergeleitet wie beispielsweise Workbook_SheetChange oder App_SheetChange

Tagged with:  

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>