2009-08-06 20 views
2

私はいくつかの機能をExcelにエクスポートするカスタムExcelアドインを使用しています。 Excelでこれらの関数の呼び出しを特定の順序で評価するようにしたいExcelでセル評価の順序を強制する方法

A1 = AddinFunction( "foo" という)

B3 = AnotherAddinFunction( "バー")

が、私はB3の前にA1を評価するために、Excelを強制したい場合には、あります。どのようにしてVBAを使用せずにミニハッキングでこれを達成できますか?

答えて

1

これは、エクスプレッションツリーの評価がExcelでどのように行われるかにかかっています。その順序で機能を評価する理由が必要です。例えば、B3 = IF(ISBLANK(A1)、AnotherAddInFunction( "Bar")、AnotherAddInFunction( "Bar"))の結果に依存するようにすることができます。

XLLは長時間行われていないので、メモリからのものです。

+0

ありがとう、これは最初の評価で動作する助けにはならないXLLを変更することはできません場合はもちろん

(A1が空の場合)ではなく、私は再評価したいですスプレッドシート。以前の評価からの出力をExcelに強制的に排除する方法はありますか? –

1

コードをXLLアドインに変更できる場合は、シーケンス化するコールにダミーの 'trigger'引数を追加できます(オプションのXLOPER argを追加してください)。次に、ダミーのトリガ引数としてセルへの参照を追加することで、呼び出すセルに依存する呼び出しを行います。

したがって、B3はAnotherAddinFunction( "Bar"、A1)として終了します。

関数自体はトリガー引数を無視し、A1が変更されたときはいつでも評価され、常にA1の後に評価されます(A1に応じて)。あなたは、これは...

+0

私はこの目的のためにいくつかの議論を引き上げることになったが、それは私が一般的に探していた解決策ではない。 –

関連する問題