Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Application.Calculation = xlCalculationManual

Forumthread: Application.Calculation = xlCalculationManual

Application.Calculation = xlCalculationManual
06.03.2006 14:50:57
Bernd
Liebe Forummitglieder,
ich lese makrogesteuert Daten aus einem Verzeichnis aus. Aufgrund zahlreicher SVerweise und eingeschaltetem "Automatisch berechnen" wird die Tabelle sehr langsam aufgebaut. Schalte ich auf "Manuell berechnen" flutscht das ganze flott. Ich würde aber gerne beim Start des Auslesemakros die Berechnung aus und am Ende wieder einschalten.
Nur funktioniert das bei mir leider nicht.
Hier mein Makro-Auszug:
Sub CommandButton3_Click()
On Error Resume Next
i = MsgBox("Wollen Sie die Daten aktualisieren? ", 4 + 32, "Daten auslesen")
If i = 7 Then Exit Sub 'wenn "Nein", dann Ende
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
'Range("C2").ClearContents
Set j = ActiveSheet.Range("B4:aa258").Cells
For Each zelle In j
(das Makro geht noch viel weiter)
etc.etc.
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Application.Calculation = xlCalculationManual
06.03.2006 14:55:23
Andi
Hi,
"Nur funktioniert das bei mir leider nicht."
Was funktioniert denn nicht? Ich kann in Deinem Code keinen Versuch erkennen, die automatische Berechnung wieder einzuschalten. Normalerweise geht das jedenfalls mit
Application.Calculation = xlCalculationAutomatic
Schönen Gruß,
Andi
Anzeige
AW: Application.Calculation = xlCalculationManual
06.03.2006 15:02:32
Bernd
Danke Andi,
hatte an der falschen Stelle die Kaluklation im Makro wieder eingeschaltet. Problem gelöst.
Trotzdem Danke!!
Grüße
Bernd
Problem gerade selber gelöst.
06.03.2006 15:01:10
Bernd
Grüße
Bernd
;
Anzeige

Infobox / Tutorial

Anwendung von Application.Calculation = xlCalculationManual in Excel VBA


Schritt-für-Schritt-Anleitung

Um die Berechnung in Excel VBA manuell zu steuern, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Öffne den Excel VBA-Editor:

    • Drücke ALT + F11, um den Editor zu öffnen.
  2. Erstelle ein neues Modul:

    • Klicke mit der rechten Maustaste auf "VBAProject (dein Arbeitsmappenname)" und wähle "Einfügen" > "Modul".
  3. Füge den folgenden Code ein:

    Sub CommandButton3_Click()
       On Error Resume Next
       i = MsgBox("Wollen Sie die Daten aktualisieren?", vbYesNo + vbQuestion, "Daten auslesen")
       If i = vbNo Then Exit Sub   ' Wenn "Nein", dann Ende
    
       ' Manuelle Berechnung aktivieren
       Application.Calculation = xlCalculationManual
       Application.ScreenUpdating = False
    
       ' Hier kannst du deine Datenverarbeitung hinzufügen
    
       ' Automatische Berechnung wieder aktivieren
       Application.Calculation = xlCalculationAutomatic
       Application.ScreenUpdating = True
    End Sub
  4. Teste das Makro:

    • Schließe den VBA-Editor und gehe zurück zu Excel. Füge einen Button hinzu und verlinke ihn mit dem Makro CommandButton3_Click.
  5. Führe das Makro aus:

    • Klicke auf den Button, um das Makro zu starten. Die Berechnung wird zunächst auf manuell gesetzt, was die Leistung bei der Datenverarbeitung verbessert.

Häufige Fehler und Lösungen

  • Problem: Die automatische Berechnung wird nicht wieder aktiviert.

    • Lösung: Stelle sicher, dass der Code zur Wiederaktivierung der Berechnung (Application.Calculation = xlCalculationAutomatic) nach der Datenverarbeitung eingefügt ist.
  • Problem: Fehlermeldung beim Ausführen des Makros.

    • Lösung: Überprüfe, ob die Variablen richtig deklariert sind und ob du die richtigen Konstanten verwendest, wie vbYesNo und vbQuestion.

Alternative Methoden

Falls du eine andere Möglichkeit suchen solltest, die Berechnung zu steuern, kannst du auch die Calculate-Methode verwenden:

Application.Calculate

Diese Methode kannst du nach der Bearbeitung deiner Daten aufrufen, um alle offenen Formeln manuell zu berechnen.


Praktische Beispiele

Hier sind einige praktische Szenarien, in denen du Application.Calculation verwenden kannst:

  1. Datenimport: Verwende manuelle Berechnung, während du Daten aus einer externen Quelle importierst, um die Leistung zu verbessern.

  2. Große Berechnungen: Wenn du mit großen Datenmengen arbeitest, schalte die automatische Berechnung aus, während du mehrere SVerweise oder Formeln anwendest.


Tipps für Profis

  • Optimierung: Verwende Application.ScreenUpdating = False, um die Bildschirmaktualisierung ebenfalls zu deaktivieren, während du deine Daten verarbeitest. Dies beschleunigt den Prozess erheblich.

  • Fehlerbehandlung: Implementiere effektive Fehlerbehandlungsmechanismen, um sicherzustellen, dass die automatische Berechnung immer wieder aktiviert wird, auch wenn ein Fehler auftritt.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die Berechnung nach dem Makro immer aktiviert wird?
Füge am Ende deines Makros den Code Application.Calculation = xlCalculationAutomatic hinzu, um die automatische Berechnung sicherzustellen.

2. Was passiert, wenn ich Application.Calculation = xlCalculationManual verwende?
Dies sorgt dafür, dass Excel keine Berechnungen ausführt, bis du sie manuell anforderst, was die Leistung steigern kann, wenn viele Berechnungen anstehen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige