Automatische Berechnungen deaktivieren (oder aktivieren) - VBA-Codebeispiele

Immer wenn Sie einen Zellenwert aktualisieren, durchläuft Excel einen Prozess, um die Arbeitsmappe neu zu berechnen. Wenn Sie direkt in Excel arbeiten, möchten Sie, dass dies in 99,9 % der Fälle geschieht (mit Ausnahme, wenn Sie mit einer extrem großen Arbeitsmappe arbeiten). Dies kann jedoch Ihren VBA-Code wirklich verlangsamen. Es empfiehlt sich, Ihre Berechnungen am Anfang von Makros auf manuell einzustellen und Berechnungen am Ende von Makros wiederherzustellen. Wenn Sie die Arbeitsmappe neu berechnen müssen, können Sie Excel manuell anweisen, zu berechnen.

Automatische Berechnungen deaktivieren

Sie können die automatische Berechnung mit einem Makro deaktivieren, indem Sie es auf xlmanual setzen. Verwenden Sie den folgenden Teil des VBA-Codes:

1 Anwendung.Berechnung = xlManual

Automatische Berechnungen wieder aktivieren

So schalten Sie die automatische Berechnung mit der Einstellung xlAutomatic wieder ein:

1 Anwendung.Berechnung = xlAutomatic

Ich empfehle, die automatischen Berechnungen ganz zu Beginn Ihres Verfahrens zu deaktivieren und die automatischen Berechnungen am Ende wieder zu aktivieren. Es wird so aussehen:

Makrobeispiel für automatische Berechnungen deaktivieren

12345678 Unter Auto_Calcs_Example()Anwendung.Berechnung = xlManual'Etwas tunAnwendung.Berechnung = xlAutomaticEnd Sub

Manuelle Berechnung

Wenn automatische Berechnungen deaktiviert sind, können Sie die Berechnung Befehl, um eine Neuberechnung von Excel zu erzwingen:

1 Berechnung

Sie können Excel auch anweisen, nur ein einzelnes Arbeitsblatt neu zu berechnen:

1 Worksheets("sheet1").Berechnen

Sie können VBA auch anweisen, nur einen Bereich neu zu berechnen (klicken Sie hier, um unseren Artikel über VBA-Berechnungsmethoden zu lesen).

So könnte dies in einem Makro aussehen:

12345678910111213 Unter Auto_Calcs_Example_Manual_Calc()Anwendung.Berechnung = xlManual'Etwas tun'Neu berechnenBerechnung'Mehr Dinge tunAnwendung.Berechnung = xlAutomaticEnd Sub

VBA-Einstellungen - Beschleunigungscode

Wenn Sie Ihren Code beschleunigen möchten, sollten Sie auch diese anderen Einstellungen anpassen:

Das Deaktivieren der Bildschirmaktualisierung kann einen großen Unterschied in der Geschwindigkeit machen:

1 Application.ScreenUpdating = False

Auch das Deaktivieren der Statusleiste macht einen kleinen Unterschied:

1 Application.DisplayStatusBar = False

Wenn Ihre Arbeitsmappe Ereignisse enthält, sollten Sie auch Ereignisse zu Beginn Ihrer Prozeduren deaktivieren (um den Code zu beschleunigen und Endlosschleifen zu vermeiden!):

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 DisplayPageBreaks 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