2009-08-06 68 views
2

小區評估的順序我用一個自定義的Excel加載項其中出口多種功能到Excel裏面做了很多的「幕後」工作。我想強制Excel以特定順序評估對這些函數的調用。也就是說,如果如何強制Excel的

A1 = AddinFunction( 「富」)

B3 = AnotherAddinFunction( 「酒吧」)

然後我要強制Excel B3之前評估A1。我怎樣才能達到最小的黑客攻擊,最好不使用VBA?

回答

1

這歸結爲表達式樹的評估是如何在Excel中完成的。它需要一個理由按順序評估你的功能。您可以使B3取決於A1的結果,例如B3 = IF(ISBLANK(A1),AnotherAddInFunction(「Bar」),AnotherAddInFunction(「Bar」))

很長時間沒有完成XLL,所以這來自記憶。

+0

謝謝,這將在第一次評估工作(當A1爲空),但不是我想要重新評估電子表格。有沒有辦法強制Excel刪除以前的評估輸出? – 2009-08-06 09:01:45

1

如果你可以改變的代碼添加到您XLL的插件,那麼你可以假「觸發」參數添加到您想要測序電話(添加一個可選的XLOPER ARG)。然後,通過添加對單元格的引用作爲虛擬觸發器參數,使該呼叫依賴於您希望它遵循的單元格...

因此,B3以AnotherAddinFunction(「Bar」,A1)結束;

函數本身忽略該觸發參數和B3將被評估每當A1變化和總是A1後(因爲它依賴於A1)。

當然,如果你不能改變XLL那麼這不利於...

+0

我已經結束了挪用一些參數用於此目的,但它不是我一直在尋找解決方案,在一般。 – 2009-08-06 21:22:44