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

Umstellung auf Iterationsberechnung mittels VBA

Forumthread: Umstellung auf Iterationsberechnung mittels VBA

Umstellung auf Iterationsberechnung mittels VBA
08.02.2003 22:14:10
Andreas Emmert
Hallo nochmal zusammen,

ich würde gerne beim Starten von Excel bzw. genau genommen, beim Start einer bestimmten Excel-Datei die Berechnungsmethode in den Optionen auf Iterationen umstellen, so dass ich die Fehlermeldung mit dem Zirkelbezug umgehen kann. In meiner Excel-Datei ist ganz bewusst ein Zirkel eingebaut, der sich nur durch Iterationen lösen lässt. Lästig ist eben, dass man jedesmal erst die Fehlermeldung wegklicken muss und dann in den Optionen die Berechnungsmethode auf Iterationen umstellen muss.

Habe bisher versucht mit folgendem Quelltext das zu erreichen:

Sub Workbook_Open()

With Application
.Calculation = xlManual
.Iteration = True
.MaxIterations = 100
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False

End Sub

Allerdings wird das VBA erst ausgeführt nachdem bereits der Hinweis auf den Zirkel gekommen ist. Hat da jemand eine Lösung wie man das machen kann, dass beim Öffnen der Datei sofort die Umstellung auf Iterationen vorgenommen wird ohne dass diese Hinweismeldung auftritt?

Danke für alle Tipps!

Grüße

Andreas

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Umstellung auf Iterationsberechnung mittels VBA
08.02.2003 22:21:37
PeterW

Hallo Andreas,

ist die Prozedur im Modul DieseArbeitsmappe, dann sollte es
Private Sub Workbook_Open()
sein. Vielleicht hilft Dir (ungestestet) am Anfang Application.DisplayAlerts weiter (bitte die Warnmeldungen wieder einschalten!!).

Gruß
Peter


Re: Umstellung auf Iterationsberechnung mittels VBA
08.02.2003 22:28:55
Andreas

Hab die Sub geändert und funktioniert jetzt, musste schlicht die Fehlermeldungen deaktivieren und eben dann wieder aktivieren. Läuft jetzt wie gewollt. Danke für den Tipp!

Andreas

Anzeige
;
Anzeige

Infobox / Tutorial

Iterationsberechnung in Excel mittels VBA aktivieren


Schritt-für-Schritt-Anleitung

Um die Iterationsberechnung in Excel zu aktivieren und dabei eine bestimmte Excel-Datei beim Öffnen automatisch anzupassen, kannst du die folgenden Schritte ausführen:

  1. Öffne die Excel-Datei, in der du die Iterationsberechnung aktivieren möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Finde das Modul „DieseArbeitsmappe“ im Projektfenster.

  4. Füge den folgenden Code ein:

    Private Sub Workbook_Open()
       Application.Calculation = xlManual
       Application.Iteration = True
       Application.MaxIterations = 100
       Application.MaxChange = 0.001
       Application.DisplayAlerts = False
    End Sub
  5. Speichere die Datei als Excel-Makro-fähige Arbeitsmappe (.xlsm).

  6. Schließe den VBA-Editor und teste das Öffnen der Datei.

Wenn alles richtig konfiguriert ist, sollte Excel nun die Iterationsberechnung aktivieren, ohne dass du die Fehlermeldung über den Zirkelbezug sehen musst.


Häufige Fehler und Lösungen

  • Fehlermeldung bleibt sichtbar: Wenn du die Fehlermeldung über den Zirkelbezug weiterhin siehst, stelle sicher, dass der Code im richtigen Modul („DieseArbeitsmappe“) eingefügt wurde.

  • VBA-Code wird nicht ausgeführt: Überprüfe, ob Makros in den Excel-Optionen aktiviert sind. Gehe zu Datei > Optionen > Trustcenter > Einstellungen für das Trustcenter > Makroeinstellungen und aktiviere die Makros.

  • Iterative Berechnung funktioniert nicht: Vergewissere dich, dass der Code den Parameter Application.Iteration = True korrekt gesetzt hat.


Alternative Methoden

Falls du keine VBA-Lösung verwenden möchtest, kannst du die Iterationsberechnung auch manuell aktivieren:

  1. Gehe zu Datei > Optionen > Formeln.
  2. Aktiviere das Kontrollkästchen „Iterative Berechnung“.
  3. Setze die gewünschten Werte für Maximaländerung und Maximaliterationen.

Diese Methode ist nützlich, wenn du nur gelegentlich mit Iterationen arbeitest und keine automatisierte Lösung benötigst.


Praktische Beispiele

Ein typisches Beispiel für die Anwendung der iterativen Berechnung in Excel ist die Berechnung von Krediten oder Zinsen, wo die Berechnung von Zins und Tilgung in einem Zyklus erfolgt.

Nehmen wir an, du hast eine Zelle, die den Zins für einen Kredit berechnet, der von der Höhe der Tilgung abhängt. Hier könnte die iterative Berechnung helfen, diese Werte zu einem stabilen Ergebnis zu führen.


Tipps für Profis

  • Verwende Application.DisplayAlerts = False im VBA-Code, um Warnmeldungen während der Berechnung zu unterdrücken, und aktiviere sie anschließend wieder, um sicherzustellen, dass du keine wichtigen Hinweise verpasst.

  • Teste deinen VBA-Code gründlich, bevor du ihn in einer produktiven Umgebung einsetzt, um sicherzustellen, dass die Iterationen korrekt durchgeführt werden.

  • Verwende die Debug.Print-Anweisung, um den Status von Variablen während der Laufzeit zu überprüfen, falls du auf unerwartete Ergebnisse stößt.


FAQ: Häufige Fragen

1. Wie kann ich die Iterationsberechnung in Excel 2016 aktivieren?
Die Schritte sind die gleichen wie oben beschrieben. Gehe zu Datei > Optionen > Formeln und aktiviere die iterative Berechnung.

2. Was passiert, wenn ich die maximale Anzahl an Iterationen erreiche?
Wenn die maximale Anzahl an Iterationen erreicht wird, gibt Excel nicht das gewünschte Ergebnis zurück. Du kannst die MaxIterations erhöhen, aber sei vorsichtig, da dies die Leistung beeinträchtigen kann.

3. Kann ich mehrere Zellen mit Zirkelbezügen in einer Datei haben?
Ja, du kannst mehrere Zellen mit Zirkelbezügen haben, solange die Iterationsberechnung aktiviert ist. Achte jedoch darauf, dass sich die Berechnungen nicht gegenseitig beeinflussen.

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