いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

Excel vbaのユーザ定義関数(function)でできないこと

Excelvbaでユーザ定義関数を使いました。自分で関数を書くのです。

www.omoshiro-suugaku.com

試行錯誤中、計算の作業領域としてワークシートのデータが入っていないセルを使おうとしたとき、エラーでうまくいきませんでした。次のようなコードです。セルに「=test5()」と書き込んで使うつもりです。

------------------------------------

Function test5() As Double
    Cells(7, 1).Value = 55555
    test5 = 123456
End Function

------------------------------------

これはうまくいきません。「#VALUE!」の表示が出るだけです。「???」と思ってあれこれ調べていたら、なんと……。

セルに「=test5()」などとやって呼び出すユーザー定義関数では、他のセルを書き換えることはできない、とのこと。ううっ、そういうエラーメッセージを出してくれればすぐわかるのに……。

 

追記:

これは「=test5()」と入力したセルに123456を書き込み、(7,1)のセル(A7のセル)に55555を書き込む(つもりの)コードです。