- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル VBAで関数を定義したけれどもうまくいかない)
エクセルVBAで関数を定義しているがうまくいかない
このQ&Aのポイント
- エクセルでVBAを使用して、セルの変更時に関数が起動するようにする方法について学んだが、うまくいかない。
- VBAの関数を標準モジュールに定義し、セルA1に関数を入力したが、#Valueと表示されて関数が動作しない。
- なぜVBAの関数が動作せず、#Valueが表示されるのか教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
エクセルの関数は値を返すのに、(具体的には関数名に計算結果を 返す) 関数名であるmykansuについて mykansu= がないのはどうしたことですか。 どうもSubプロシージュアー的なことを考えていて、他言語の関数 (サブルーチン)とごっちゃになってませんか。 エクセルユーザー関数の値は(通常基本は)1つです。 処理(複数セルに対しcells(i,6)="yes)のようなことはできません。 エクセルの!、(本かWEBの)ユーザー定義関数の解説部分を読んでください。
お礼
ご指摘ありがとうございました。 確かに関数定義としては変ですね。 裏技的な方法で成立するのかと トライしてみましたが 見当違いだったようです。 やはり worksheet_changeで 実行するのが正当なのですね。