Hallo,
ich arbeite gerade an einem sehr umfangreichen Excel-Projekt.
Einige Problemstellungen hab ich mit User Defined Functions (UDF) gelöst, d.h. ich übergebe aus einem Excelblatt werte mittels einer eigenen Funktion an VBA.
Nu habe ich folgendes Problem:
Wenn ich an EINER Stelle auf dem Blatt werte ändere, wird auf ALLEN Zellen die diese Funktion beinhalten, eine Neuberechnung vorgenommen. Das geht stark auf die Performance :-(
Ich habe beobachtet, dass eine kleine Demo mit einer UDF ebenfalls ALLE Zellen neu berechnet hat, auch nachdem mein eigentliches Projekt geschlossen war.
Ich habe nirgends Application.Volatile eingesetzt!!
Nach einem Neustart von Excel macht meine Demo das nun nicht mehr, d.h. dort werden nur die Zellen neu berechnet, die geänderte Zellen verrechnen.
In meinem eigentlichen Projekt ist das leider immer noch der Fall :-(
Kennt jemand das Problem?
Ich weiss, dass das bei bedingten Formatierungen der Fall ist. Änderst Du irgendwo etwas, werden alle Berechnungen zur Verfärbung neu durchgeführt. Sogar, wenn Du in einer anderen Mappe arbeitest!
Kann es sein, dass Zellen, die eine bedingte Formatierung enthalten, den Inhalt der Zelle (Formel) mitreißt und den dann auch neu berechnet?
Das ganze ist deshalb so schlimm, weil ich 36 Blätter mit 31 Tagen und 30 Mitarbeitern mit jeweils mehreren Formeln vorliegen habe. Das dauert dann gern mal 4 Sekunden, bis der Zellzeiger nach der Eingabe die nächste Zelle erreicht.
Ich weiss nicht, wo ich bei der Analyse des Problems ansetzen soll
Habt Ihr eine Idee?
Klaus