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

VBA manuelle Berechnung

Forumthread: VBA manuelle Berechnung

VBA manuelle Berechnung
04.12.2014 22:35:09
Reichert
Hallo ans Forum,
ich habe eine Frage zum manuellen Berechnen. Im Makro habe ich zunächst das automatische Berechnen ausgestellt:
Application.Calculation = xlCalculationManual
Nach einigen Operationen kommt der Befehl zum manuellen Berechnen:
Application.Sheets("KSN Gesamtjahr").Calculate
Leider muss ich nun feststellen, dass die Berechnung sehr viel länger dauert, als wenn ich ohne Makro F9 drücke. Der Unterschied ist schon enorm.
Weiß jemand von euch, woran das liegt und ob man das irgendwie optimieren kann.
Danke und Vg
Andreas

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA manuelle Berechnung
05.12.2014 16:48:36
Lutz
Hallo Andeas,
hast Du mal versucht
Application.Calculation = xlCalculationManual
einfach wieder auf Application.Calculation = xlAutomatic zu setzen?
Vielleicht liegt es daran dass Du nur das eine Tabellenblatt berechnen läßt.
Viele Grüße Lutz
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

VBA für manuelle Berechnung in Excel optimieren


Schritt-für-Schritt-Anleitung

Um die manuelle Berechnung in Excel effizient zu gestalten, kannst Du folgende Schritte befolgen:

  1. Aktiviere die manuelle Berechnung:

    Application.Calculation = xlCalculationManual
  2. Führe Deine Berechnungen durch: Hier kannst Du alle notwendigen Berechnungen vornehmen, ohne dass Excel die gesamte Tabelle nach jeder Änderung neu berechnet.

  3. Berechne das gewünschte Blatt manuell:

    Application.Sheets("KSN Gesamtjahr").Calculate
  4. Setze die Berechnung wieder auf automatisch:

    Application.Calculation = xlCalculationAutomatic

Dieser Ablauf könnte Dir helfen, die Performance zu verbessern, wenn Du mit großen Datenmengen arbeitest und die Berechnung der Restschuld oder andere komplexe Berechnungen durchgeführt werden müssen.


Häufige Fehler und Lösungen

  1. Langsame Berechnungen:

    • Problem: Die Berechnung dauert länger als erwartet.
    • Lösung: Überprüfe, ob Du Application.Calculation = xlAutomatic nach der Berechnung wieder aktivierst. Das könnte die Performance verbessern.
  2. Nur ein Blatt wird berechnet:

    • Problem: Nur das aktuelle Blatt wird berechnet.
    • Lösung: Stelle sicher, dass Du alle relevanten Blätter in Deinem Makro berücksichtigst, um umfassende Monatsberechnungen durchzuführen.

Alternative Methoden

Wenn Du die manuelle Berechnung nicht verwenden möchtest, gibt es alternative Ansätze:

  • Verwendung von Formeln: Statt VBA kannst Du auch direkt in den Zellen berechnen. Verwende Formeln für Rabattberechnungen oder andere Berechnungen, die Du regelmäßig benötigst.
  • Excel-Funktionen: Nutze Excel-Funktionen wie SUMMEWENN oder WENN, um bestimmte Bedingungen in Deinen Berechnungen zu berücksichtigen.

Praktische Beispiele

  1. Berechnung der Restschuld:

    • Du kannst ein einfaches Makro erstellen, das die Restschuld basierend auf monatlichen Zahlungen berechnet:
    Sub BerechnungRestschuld()
       Dim Restschuld As Double
       Dim Zahlung As Double
       Dim Zinssatz As Double
    
       Zahlung = 500 ' Beispielwert
       Zinssatz = 0.05 ' 5% Zinssatz
       Restschuld = 10000 ' Startbetrag
    
       Restschuld = Restschuld - Zahlung + (Restschuld * Zinssatz / 12)
    
       MsgBox "Die Restschuld beträgt: " & Restschuld
    End Sub
  2. Monatsberechnung in Excel:

    • Du kannst auch eine Monatsberechnung durchführen, indem Du die Daten über VBA verarbeitest und die Ergebnisse in der Tabelle anzeigst.

Tipps für Profis

  • Optimierung des Codes: Achte darauf, dass Du Deinen Code so schreibst, dass er nur die notwendigen Berechnungen durchführt. Dies reduziert die Rechenzeit erheblich.

  • Verwendung von With-Anweisungen: Nutze With-Anweisungen, um den Zugriff auf Objekte zu optimieren.

    With Application
       .Calculation = xlCalculationManual
       ' Deine Berechnungen hier
       .Calculation = xlCalculationAutomatic
    End With
  • Profiling: Teste die Ausführungszeit Deines Makros, um Engpässe zu identifizieren und zu optimieren.


FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen automatischer und manueller Berechnung? Die automatische Berechnung aktualisiert die Werte in Echtzeit, während die manuelle Berechnung Dir erlaubt, die Berechnungen zu steuern und nur bei Bedarf durchzuführen.

2. Wie kann ich die Berechnungsgeschwindigkeit in Excel verbessern? Reduziere die Anzahl der Berechnungen, die durchgeführt werden müssen, und nutze manuelle Berechnungsmethoden, wenn Du mit großen Datenmengen arbeitest.

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