Ich habe ein komisches Problem mit Excel-Berechnungsreihenfolge - abhängige Zelle wird vor der vorhergehenden Zelle mit leerem Parameterwert berechnet, wenn der Bereich verschmutzt ist. Gibt es eine Möglichkeit, diese "falschen" Anrufe zu erkennen? Es ist kritisch für mich, da ich in der realen Welt eine clevere Geschäftslogik betreibe und diese "falschen" Anrufe alle Logik durchbrechen. Darüber hinaus binden diese "falschen" Aufrufe, wenn sie bei RTD registriert sind, sie nicht korrekt an das Thema und somit nicht an das Trennen des Themas.Excel-Neuberechnungsreihenfolge - warum abhängige Zelle vor der vorhergehenden Zelle berechnet?
Excel 2010/32bit neuesten alle.
Problem zu veranschaulichen, habe ich einfache Funktion erstellt:
Function Fnc(param2 As String) As String
Fnc = Application.ThisCell.Address
Debug.Print (Application.ThisCell.Address & " - " & param2)
End Function
Und Prozedur:
Sub SetDirty()
Range("B1:C1").Dirty
End Sub
Und einfaches Blatt:
$ A $ 1 = FNC (A1) = FNC (B1)
in Zellen A1, B1, C1.
Und Ergebnis offensichtlich:
$ A $ 1 $ B $ 1 $ C $ 1
Wenn ich neu berechnen (CTRL + Alt + Umschalttaste + F9) Ich werde, wie erwartet :
$ B $ 1 - 1 $
A $$ C $ 1 - B $ 1 $
Aber hier geht der Spaß Teil. Wenn ich SetDirty:
$ C $ 1 - < ---- Woher kommt das?
$ B $ 1 - 1 $
A $$ C $ 1 - $ B $ 1
Vielen Dank für jede Eingabe. Ich würde eine Lösung bevorzugen, die dieses Problem löst, nicht eine Problemumgehung, da es bereits Teil einer Reihe von Problemumgehungen ist.
Diese Seite: http://www.decisionmodels.com/calcsecretsc.htm, und andere auf der gleichen Website, sollte Ihre Frage beantworten. Sein Autor ist auch regelmäßig bei Satckoverflow. – jtolle
Es ist mir nicht klar, was Sie in welche Excel-Zellen stecken - cau Sie bitte einen Screenshot oder erläutern Sie Ihr Beispiel? – brettdj
@bretttj wie ich in meinem Beitrag sagte: $ A $ 1 = FNC (A1) = FNC (B1) in die Zellen A1, B1, C1 so einfach wie das – Arnas