オーバーフローエラーがよく分かりません。ここではかなり迷っています。double型のExcelでVBAオーバーフローエラーが発生しました
は書き込みがVBAで私は(私はの内臓にアクセスできません)DLLからC++の関数のラッパーでVBA関数を呼び出しています。 VBA/C++関数はdoubleを返します。数値的方法を用いたデリバティブ評価である。時間
昨日(それが今なくなっている場合があります)doubleとして宣言された変数への関数の戻り値を代入しようとしたとき、私はオーバーフローエラーを得ていました。 しかしエラーが停止すると、ローカルウィンドウ(8.17 ...)でダブルに割り当てられた正しい値がわかりました。代わりに、関数の戻り値を代入変数に代入すると、エラーなしで同じ値が得られます。その変種はVariant/Double型です。
何が起こっているのでしょうか?私は完全に失われています。事前に感謝の意を表します。 R
編集:私が試したもう1つのことは、バリアントに割り当てるときに関数戻り値にCDblを適用することでした。ここではいくつかの擬似コードは、ちょうど私の例を明確にするために、です:
Dim db as Double, va as Variant
db = DerivativeValue(a, b, c...)
これはオーバーフローを与えるが、dbがエラーで、地元の人々のウィンドウに正しい値を持っています。
va = DerivativeValue(a, b, c...)
エラーはなく、同じ値です。タイプはバリアント/ダブルタイプ
va = CDbl(DerivativeValue(a, b, c...))
もう一度オーバーフローします。私はVAが、この場合の[ローカル]ウィンドウに何をしたか忘れてしまったが、おそらくそれはケース1
ありがとうございました。私の間違いは現時点では修正されているようです。しかし、私はこれらを行い、それが再び起こった場合は別の方法で報告します。 – RomnieEE2