Willkommen

Pivottabelle

Spezialfilter

Formeln

Zellformate

Bedingte Formate

Gültigkeit

Programmierung

UDF - Funktionen

Tipps & Tricks

Webabfrage

Fehlersuche

Farbindex

Shortcuts

Limitationen

Downloads

Links

Kontakt

Disclaimer

Impressum

Performance erhöhen
 
Werden durch einen Code innerhalb einer Datei die bereits viele Formeln enthält, Zellen gelöscht oder Werte eingefügt, so kann die Laufzeit relativ lange sein, da Excel ständig eine Neuberechnung anstößt. Um die Neuberechnung oder das Starten von Ereignisprozeduren zu verhindern, können folgende Codezeilen innerhalb der Prozedur implementiert werden.
 
Eine Fehlerbehandlungsroutine sollte aber in diesem Fall nicht fehlen, damit sichergestellt ist, dass alle Funktionen wieder eingeschaltet werden.
 
Nachfolgend ein Beispielcode:
 
Public Sub Beispielprozedur()
On Error GoTo Fehlerbehandlung ' <-- Wichtig, damit bei einem Fehler alles wieder eingeschaltet wird
 
'Funktionen ausschalten
With Application
  .ScreenUpdating = False
  .EnableEvents = False
  .Calculation = xlCalculationManual
End With
 
'#####################################
'Der eigentliche Code kommt zwischen die Zeilen
'#####################################
 
'Funktionen einschalten
With Application
  .ScreenUpdating = True
  .EnableEvents = True
  .Calculation = xlCalculationAutomatic
End With
 
Exit Sub '<-- Prozedur beenden, wenn fehlerfrei durchgelaufen
 
Fehlerbehandlung:
'Funktionen einschalten
With Application
  .ScreenUpdating = True
  .EnableEvents = True
  .Calculation = xlCalculationAutomatic
End With
End Sub
 
 
 
Anmerkung:
.ScreenUpdating = Bildschirmaktualisierung
.EnableEvents = Ereignisprozeduren
.Calculation = Berechnungen