myFunction(),
セルにコンテンツを書き込むVBA 関数を作成したいと思います。計算が完了すると、書き込まれたすべてのデータが消去されます。(セルから呼び出したい=myFunction()
)コンテンツをクリアするには、次の行を最後に追加して、終了する前にクリーンアップします。
ActiveSheet.Range("$A$1:$B$9").ClearContents
問題は、何もクリアしないことです。ただし、上記の行をサブルーチンに入れて、そのサブルーチンをボタンに割り当てると、ボタンをクリックするとコンテンツがクリアされることに気付きました。
プログラム「Microsoft Visual Basic」のウィンドウからコードを実行すると(再生ボタン付き)、コードは完全に機能します(コンテンツはクリアされます)が、セルから関数を呼び出すとクリーニング部分が機能しませんもう。コードは次のとおりです。
Function myFunction()
ActiveSheet.Range("$A$1:$B$9").Clear
End Function
セルをクリックして と入力する=myFunction()
と、範囲 $A$1:$B$9 のコンテンツがクリアされません。ただし、(関数の代わりに) サブルーチンを作成し、それをボタンで呼び出すと、コンテンツはクリアされます。
myFunction() によって呼び出されたときに機能しないのはなぜですか? どうすればこれを解決できますか?