1

ユーザー定義関数 (UDF) を含む数式をワークブックの特定のセル (例: H1004 ) に書き込む VBA コードに取り組んでいます= maxdd(H1:H1001)

Excel 2010 (Windows 用)でコードを実行すると、すべてが期待どおりに機能します。

1) 数式がセルに書き込まれ
ます。2) 各セルが正しい結果を返します。

Excel 2011 for Macで同じコードを実行すると、数式もセルに書き込まれます。ただし、セルは有効な結果を返さず、代わりに#valueエラーを表示します。

注: これらのセルの 1 つを選択し、数式フィールドにカーソルを置き、Return キーを押すと (おそらくセルを強制的に評価するため)、正しい答えが表示されるため、この問題のトラブルシューティングを行うことはできません。


私の質問:

  • #valueExcel for Macが単純な結果ではなくエラーを返さないようにするには、何をする必要がありますか?
4

1 に答える 1

1

なぜこの問題が発生したのかはわかりませんが、最終的にこの問題の原因を突き止めまし

vba コードをより速く実行するために、このようにautomatic calculation、コードの最初でオフにし、コードの最後でオンに戻しました -->

Application.Calculation = xlCalculationManual  
'main part of vba code
Application.Calculation = xlCalculationAutomatic

何らかの理由で、これにより、ユーザー定義関数を含むセルが更新されなくなりました。
この 2 行のコードがなくても、すべて正常に動作します。

于 2013-08-09T12:32:54.400 に答える