Tabellenblatt zeitgesteuert neu Berechnen

Hallo Allerseits!

Ich habe hier ein MS Excel-Tabellenblatt, das ich gerne jede Minute (oder Sekunde) neu berechnen lassen möchte. Gibt es eine Möglichkeit die Neuberechnung zeitgesteuert herbeizuführen?

Bisher habe ich nur den notdürftigen Behelf gefunden, in einem Makro eine Zählschleife einzubauen, nach deren Ablauf der Befehl Calculate ausgeführt wird. Anschließend erfolgt ein Sprung zurück zur Zählschleife.
Die Nachteile dieser Methode liegen natürlich auf der Hand: Das Makro verursacht eine irrsinnige Prozessorauslastung, das Blatt kann während der Ausführung nicht bearbeitet werden und zum Beenden des Makros ist eine Tastenkombination nötig.

Gibt es also ein Zeitabhängiges Ereignis mit dem ich die Neuberechnung auslösen kann?

Gruß

Stefan

Hallo Stefan,

dein Thema hat mich interessiert und ich hab daher einen Versuch gestartet - und hoffentlich die Lösung gefunden:

Voraussetzung: Excel 2000

Im Klassenmodul „dieseArbeitsmappe“ definierst du folgende Makros:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime Now, „Zeit_Update“, , False
End Sub

Private Sub Workbook_Open()
Zeit_Update
End Sub

Dann legst du ein normales Modul an, in dem du folgendes Makro definierst:

Sub Zeit_Update()
On Error Resume Next
Application.OnTime Now + TimeValue(„0:00:01“), „Zeit_Update“
Application.Calculate
End Sub

Wenn du die Datei das nächste Mal öffnest, sollte die regelmäßige, automatische Neuberechnung funktionieren.

Einziges Handycap:

Beim Ausstieg aus der Datei bringt er einen Laufzeitfehler "Die Methode ‚OnTime‘ für das Objekt ‚_application‘ ist fehlgeschlagen. Die Meldung kannst du mit „Beenden“ getrost übergehen.

lg Maria

Hallo Stefan,

Nachtrag zu meiner Antwort:

  1. Hab erst jetzt begriffen, daß die Doppelpunkte am linken Rand nicht von deinem VB-Editor stammen, sondern von dieser Plattform.

  2. Es kann dir beim Ausstieg aus der Datei auch noch passieren, daß er dich fragt „Makros deaktivieren/Makros aktivieren“. Klick auf „Makros deaktiveren“. Der nächste Schließversuch der Datei funktioniert anstandslos. Diese Fehlermeldungen kommen daher, daß er im Puffer schon mehrere Aufrufe des Makros „Zeit_Update“ stehen hat, die er dann nicht mehr ordnungsgemäß abwickeln kann. Hab auch in meinem schlauen Buch keine Lösung zur Vermeidung dieser Meldungen gefunden.

lg Maria

Hallo Stefan,
gib mal in deine Excel-Hilfe in den Index ‚automatisch speichern‘ ein. Dann findest du gleich an zweiter Stelle einen Hinweis über „automatisches Speichern von Arbeitsmappen während der Arbeit“ über ein Add-In.
Das müsste es sein…

Gruß
Angel

Hallo Maria!

Danke für die Tipps, ich werde das mal zu Hause ausprobieren, da ich hier auf der Arbeit nur Office97 habe. Aber auf Office XP dürfte das dann ja genauso funktionieren wie bei dir auf O 2000.

Was ich aus deiner Antwort aber vor allen Dingen schließe, ist die Tatsache, dass eine zeitgesteuerte Neuberechnung, bzw. zeitgesteuerte Ergeignisse überhaupt in VBA bisher einfach nicht vorgesehen waren, und dass man sich das nur mit einem Workaround hinbiegen kann.

Gruß

Stefan

Hallo Angel,

Hinweis über „automatisches Speichern von Arbeitsmappen
während der Arbeit“ über ein Add-In.

Naja, ich wollte eigentlich mehr neu berechnen. Auf einem Einzelplatzrechner mag das ja noch angehen, wenn ich die Neuberechnung über das Speichern auslöse, aber wenn die Datei auf 'nem Server liegt, werden garantiert die Leitungen warm wenn da alle Nase lang gespeichert wird.

Ich habe natürlich auch mal versucht, die Module des Add-ins anzuschauen, leider war ich schon bei der Frage nach dem Passwort ziemlich ratlos. :frowning:

Gruß

Stefan