dポイントプレゼントキャンペーン実施中!

IF(シート1!C2>0,名目(A2)*E2,6)

上記の式のように一定の条件下で、ユーザー定義関数に特定のセルの値をかけた
値を表示させようとしています。
しかしなぜか0が表示されてしまいます

Select Case KATA
Case Is = 1
名目 = E * 34

のようにユーザー定義関数の中にセル式をかけるとしても
0が表示されます
どうしてでしょうか

A 回答 (1件)

セルの値の乗算やIFの条件を外して、



=名目(A2)

とした際、期待した結果が表示されているのでしょうか?


| Select Case KATA
| Case Is = 1
| 名目 = E * 34

| のようにユーザー定義関数の中にセル式をかけるとしても

セル式ってのが何を指すのか不明瞭ですが、VBA中でE2セルの値を参照するには通常、

Range("E2").Value

などとします。
VBA中で、

名目 = E2 * 34

などとすると、暗黙に宣言された変数E2(初期値は0)の内容が参照されます。
暗黙に宣言された変数を使用しないよう、標準モジュールの先頭に、

Option Explicit

と宣言すると、問題のある箇所をきちんとエラーにしてくれるハズ。
    • good
    • 0
この回答へのお礼

Option Explicitのおかげでエラーの原因を発見することができました
感謝します

お礼日時:2012/03/11 04:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!