私はExcelの計算順序に奇妙な問題があります - 範囲の汚れを設定すると、前のセルの前に空のパラメータ値が計算されます。それらの "偽の"呼び出しを検出する方法はありますか?実際のアプリケーションで巧妙なビジネスロジックを実行し、それらの「偽の」呼び出しがすべてのロジックを壊すので、私にとっては非常に重要です。さらに、RTDに登録されている場合、これらの「偽の」呼び出しはトピックに正しくバインドされないため、トピックの切断が通知されません。Excel再計算の順序 - 前のセルの前に依存セルが計算される理由
Excel 2010/32bit最新のすべてです。
Function Fnc(param2 As String) As String
Fnc = Application.ThisCell.Address
Debug.Print (Application.ThisCell.Address & " - " & param2)
End Function
と手続き:
Sub SetDirty()
Range("B1:C1").Dirty
End Sub
とシンプルなシート:
$ A $ 1 = FNC(A1)は、(FNCを= B1、私は簡単な関数を作成した問題を説明するために
)
セルA1、B1、C1に。
、明らか結果:
$ A $ 1 $ B $ 1 $ C $
私は再計算した場合1が(はCTRLは + は、Altキー + は、Shiftキー + F9)はIは、予想を受けると:
$ B $ 1 - $ A $ 1
$ C $ 1 - $ B $ 1
しかし、ここでは楽しい部分があります。私が実行した場合:
$ C $ 1 - < ----これはどこから来たのですか?
$ B 1 $ - $ A $ 1
$ C $ 1 - $ B $ 1
任意の入力いただきありがとうございます。私はこの問題を解決するソリューションを好むだろうが、これは既に回避策の一部であるため、回避策ではない。
このページ:http://www.decisionmodels.com/calcsecretsc.htm、および他のサイトであなたの質問に答えてください。著者はSatckoverflowのレギュラーでもあります。 – jtolle
Excelのセルに何を入れているのかわかりません。あなたがスクリーンショットを撮ったり、あなたの例を明確にしたりしていますか? – brettdj
@brettdj私が私の記事で言ったように:$ A $ 1 = fnc(A1)= fnc(B1)をA1、B1、C1というセルに単純に入れると、 – Arnas