Office - Word, Excel und Co. 9.703 Themen, 40.813 Beiträge

Bug in Excel XP? Irrwitziges Verhalten nach Zellenlöschung

Olaf19 / 6 Antworten / Flachansicht Nickles

Hallo zusammen!

Gestern im Büro habe ich etwas reichlich Merkwürdiges mit Excel aus MS Office XP erlebt: Ich hatte eine Tabelle mit den Spalten A-F, benutzt waren die Zeilen von 1-30. In Spalte F stand jeweils die Formel =RUNDEN(Dn*En;0), wobei n für eine Zahl von 2-30 steht, je nach Zeilennummer. In D31 und F31 schließlich standen außerdem die Summen von Spalte D und F, in E31 der Quotient aus F31:D31.

Wie ich es jeden Tag mache, habe ich aus einer Access-Datenbank Daten in den Bereich von A1 bis E30 kopiert.

Erste Merkwürdigkeit: Sämtliche Formeln blieben auf den Ergebnissen des Vortags stehen - das konnte ja nun überhaupt nicht sein, dass alle Werte identisch waren, so einen großen Zufall gibt es nicht. Also habe ich als nächstes die Zellen von A1 bis E30 manuell gelöscht.

Zweite und noch viel größere Möglichkeit: obwohl die Tabelle nun leer war, mit Ausnahme der o.g. Formeln, zeigten diese immer noch die Ergebnisse des Vortags an, sowohl die 29 "RUNDEN"-Multiplikationen als auch die Summenformeln und der Quotient. Aktualisiert wurden die Zellen erst, nachdem ich mit der Maus in jede einzelne Zelle doppelgeklickt und wieder geentert hatte - jetzt stand alles auf 0 bzw. DIV/0.

Die dritte Merkwürdigkeit ahnt ihr sicher schon - nach dem Wiedereinkopieren der aktuellen Daten aus Access standen die Formeln nach wie vor auf 0 bzw. DIV/0 - ich musste erst wieder alles per Hand aktualisieren, d.h. Doppelklick auf den Zellinhalt und Enter, und dass bei allen Zellen mit hinterlegter Formel.

Was'n das? Einen solchen Schwachsinn habe ich noch nie erlebt. Kann sich jemand so etwas erklären? (Hoffentlich passiert jetzt nicht jeden Tag dieses Theater...).

THX
Olaf

"Das sind Leute, die von Tuten und Ahnung keine Blasen haben" (ein Reporter auf die Frage nach der politischen Bildung des typischen Anhangs von Donald Trump)
bei Antwort benachrichtigen
neanderix ABatC „Hatte ich vor Jahren bei irgendeiner Excel-Version auch schon mal....manche...“
Optionen

Es gibt leider VBA-Programmierer, die in ihren VBA-Skripten nicht etwa den aktuellen Status
von Application.Calculation speichern und nachher wieder restaurieren, sondern ihn schlicht weg entweder:

auf manuell setzen (Application.Calculation = xlCalculationManual) und dann auch nach Beenden ihrer Applikation so belassen oder den einfach willkürlich ändern - entweder auf manuell oder auf Application.Calculation = xlCalculationAutiomatic

Dabei gehört das so:

Sub IchMachMalWas()
Dim oldCalculation As Long
oldCalculation = Application.Calculation
Application.Calculation = xlCalculationManual
'Nun Irgendwelcher Code
Application.Calculation = oldCalculation
End Sub

wobei es bei größeren Applikationen vorteilhaft ist/sein kann, die ersten beiden Zeilen innerhalb der Sub in einem Modul so zu schreiben:

Public OldCalculation AS Long = Application.Calculation

durch die auslagerung in ein eigenständiges Modul wird OldCalculation nämlich zu einer globalen Variable, die Applikationsweit verfügbar ist.

Volker

Computers are like airconditioners - they stop working properly when you open Windows Ich bin unschuldig, ich habe sie nicht gewählt!
bei Antwort benachrichtigen