729053

Excel 2000-2003: Benutzerdefiniert und dynamisch

09.01.2007 | 11:54 Uhr |

Sie verwenden in Excel eine benutzerdefinierte Funktion. Während Excel seine eingebauten Standardfunktionen nach Zelländerungen automatisch aktualisiert, erhalte Sie den aktuellen Wert Ihrer Funktion nur, wenn Sie die betreffende Zelle explizit aktualisieren. Wir zeigen Ihnen, wie Sie dieses Problem lösen können.

Anforderung:

Fortgeschrittener

Zeitaufwand:

Mittel

Problem:

Sie verwenden in Excel eine benutzerdefinierte Funktion. Während Excel seine eingebauten Standardfunktionen nach Zelländerungen automatisch aktualisiert, erhalte Sie den aktuellen Wert Ihrer Funktion nur, wenn Sie die betreffende Zelle explizit aktualisieren.

Lösung:

Excel berechnet benutzerdefinierte Formeln normalerweise nur dann neu, wenn Sie einen Parameter der Funktion verändern. Auch selbst definierte Funktionen, die wie die Standardfunktion „Heute()“ ohne Parameter auskommen, aktualisiert Excel nur bei einer Neuberechnung der Arbeitsmappe. Mit der Tastenkombination <Strg>-<Alt>-<F9> können Sie manuell eine solche Neuberechnung erzwingen.
Wenn Sie erreichen wollen, dass Ihre Funktion immer automatisch aktualisiert wird, fügen Sie am Beginn des Codes – also nach dem Funktionsnamen und gegebenenfalls nach den Variablen-Deklarationen – folgende Zeile ein:
Application.Volatile

Dieser Befehl bewirkt, dass Excel in Zukunft die benutzerdefinierte Funktion immer neu berechnet, wenn Sie in einer beliebigen Zelle des Arbeitsblatts einen Wert ändern. Allerdings sollten Sie die Methode „Application.Volatile“ nur dann benutzen, wenn es unbedingt notwendig ist: Die damit erzwungenen Neuberechnungen sorgen zum Teil für drastisch erhöhte Rechenzeiten. Die Arbeitsmappe reagiert unter Umständen zäh, und die Laufzeit von Makros kann sich vervielfachen.

0 Kommentare zu diesem Artikel
729053