• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル VBAで関数を定義したけれどもうまくいかない)

エクセルVBAで関数を定義しているがうまくいかない

このQ&Aのポイント
  • エクセルでVBAを使用して、セルの変更時に関数が起動するようにする方法について学んだが、うまくいかない。
  • VBAの関数を標準モジュールに定義し、セルA1に関数を入力したが、#Valueと表示されて関数が動作しない。
  • なぜVBAの関数が動作せず、#Valueが表示されるのか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

エクセルの関数は値を返すのに、(具体的には関数名に計算結果を 返す) 関数名であるmykansuについて mykansu= がないのはどうしたことですか。 どうもSubプロシージュアー的なことを考えていて、他言語の関数 (サブルーチン)とごっちゃになってませんか。 エクセルユーザー関数の値は(通常基本は)1つです。 処理(複数セルに対しcells(i,6)="yes)のようなことはできません。 エクセルの!、(本かWEBの)ユーザー定義関数の解説部分を読んでください。

yamutya
質問者

お礼

ご指摘ありがとうございました。 確かに関数定義としては変ですね。 裏技的な方法で成立するのかと トライしてみましたが 見当違いだったようです。 やはり worksheet_changeで 実行するのが正当なのですね。

関連するQ&A