- ベストアンサー
ユーザー定義関数に特定のセルの値をかける
IF(シート1!C2>0,名目(A2)*E2,6) 上記の式のように一定の条件下で、ユーザー定義関数に特定のセルの値をかけた 値を表示させようとしています。 しかしなぜか0が表示されてしまいます Select Case KATA Case Is = 1 名目 = E * 34 のようにユーザー定義関数の中にセル式をかけるとしても 0が表示されます どうしてでしょうか
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
セルの値の乗算やIFの条件を外して、 =名目(A2) とした際、期待した結果が表示されているのでしょうか? | Select Case KATA | Case Is = 1 | 名目 = E * 34 | のようにユーザー定義関数の中にセル式をかけるとしても セル式ってのが何を指すのか不明瞭ですが、VBA中でE2セルの値を参照するには通常、 Range("E2").Value などとします。 VBA中で、 名目 = E2 * 34 などとすると、暗黙に宣言された変数E2(初期値は0)の内容が参照されます。 暗黙に宣言された変数を使用しないよう、標準モジュールの先頭に、 Option Explicit と宣言すると、問題のある箇所をきちんとエラーにしてくれるハズ。
お礼
Option Explicitのおかげでエラーの原因を発見することができました 感謝します