• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA上で定義された関数のワークシート上での実行)

VBA上で定義された関数のワークシート上での実行

このQ&Aのポイント
  • VBA上で定義された関数をワークシート上で使用する際にうまくいかない問題が発生しています。
  • マクロ上では正しく計算が行われるが、セル上ではうまく計算されないようです。
  • マクロ上で定義した構造体をセル上で使用することができない可能性があります。

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

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

たいして詳しくないので推測&取り敢えずの対策ですが。 >そもそも、マクロ上で定義した構造体を、セル上で用いようとする.. セル上で、というより「ユーザー定義型をワークシート関数の『戻り値』にできない」、 という事ではないかと推測します。 ワークシート関数として =setComplex(2,3) で返されたものが評価(?)できないのかな。 例えば数式バーで=absComplex(setComplex(B6,C6))の一部であるsetComplex(B6,C6)を選択して F9キーで検証しようとしても配列でもないから、答えの返りようがないんですよね。 Function test(x As Double, y As Double) As Double   test = absComplex(setComplex(x, y)) End Function ..な感じで内包してあげれば =test(B6,C6) のように使えますが、これだと『マクロ上で定義した構造体を、セル上で用い』るとは言えない?

tkajte0804
質問者

お礼

回答のご意見、どうもです。 > 「ユーザー定義型をワークシート関数の『戻り値』にできない」、 > という事ではないかと推測します。 うすうす、そのような気がしていました。 ただ、ソフトの仕様に関する事なので、個人レベルで調べることもできず、 ここで質問してみました。 ソフトの内部仕様に、ある程度、調べられればいいんですけどね。

すると、全ての回答が全文表示されます。

関連するQ&A