Zeile einblenden erzwingt Neuberechnung??
13.06.2006 14:53:14
Matthias G
mangels Anwort stelle ich meine Frage nochmals ein:
ich habe schon länger ein Problem mit meinem Excelbasierten Dienstplanprogramm. Beim Start berechnet es unter Excel 2003 alle Zellen neu, was teilweise 40 Sekunden dauert.
Unter Excel XP tritt dieser Effekt nicht auf, deshalb habe ich auf der Arbeit schon einige dazu bewegt, Excel 2003 runterzuhauen und wieder mit Excel XP zu arbeiten...
Nun habe ich endlich das Grundproblem gefunden:
Wenn in Excel 2003 eine Zeile ein- oder ausgeblendet wird, die einen Wert enthält, auf den sich eine Formel bezieht, wird diese neu berechnet!
Zum Nachvollziehen:
In den Optionen die Berechnung auf manuell stellen,
in ein Tabellenblattmodul diesen Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A5") = Application.CalculationState
End Sub
Dann in diesem Blatt zwei Zellen füllen:
A1: =A2
A2: 1
in A5 steht nun erwartungsgemäß 2 (xlPending = Berechnung anstehend).
F9 drücken, Markierung bewegen (zur Aktualisierung von A5), dann steht in A5 wieder 0 (xlDone).
Alles soweit ok.
Nun die Zeile 2 ausblenden, Markierung bewegen, In A5 steht 2!!
F9 drücken. Markierung bewegen, dann steht wieder 0 in A5.
Jetzt die Zeile 2 wieder einblenden, Markierung bewegen: In A5 steht wieder 2!!
Kann mir jemand dieses seltsame Verhalten erklären? Ist das ein Bug, für den es schon einen Patch gibt? Oder warum meint Excel 2003, schon das Einblenden einer Zeile berechtigt zur Neuberechnung?
Diese wird übrigens auch angestoßen, wenn an die bereits eingeblendete Zelle einfach nochmal der Befehl "einblenden" geschickt wird.
Bitte helft mir, ich weiß nicht mehr weiter!
Grüße,
Matthias