質問: 【excel vba】標準モジュールについての正しい知識 excel vbaの画面で、 左側にブックに存在するsheet一覧が出ており、 あるsheetをダブルクリックしてコードを入力しても、 挿入→標準モジュールで、module1にコードを入力しても、同様の動作をしますが、 一般的にはどのような使い分けをするものなのでしょうか? sheetに直接書いたコードはそのsheetのみ、 標準モジュールだとどのsheet上でも動作する程度は認識しています。 果たしてそれだけなの?が疑問で、 それ以外で本来の基礎知識を教えて頂ければ幸いです。
回答: こんにちは ご質問内容は少しだけ違っているように思いますが、、言葉の綾だと思いますので、取敢えず。 シートモジュールと標準モジュールの違いは色々あります。 標準モジュールはブックに属しておりシートモジュールはシートに属しています。従ってシートが削除されるとコードも削除されます。 シートをコピーするとコードもコピーされますが、 他のモジュールからシートモジュール内のプロシージャを呼ぶ処理がある場、対象シートが削除された時など当然エラーになり困りますね。 シートに属しているシートモジュールにはオブジェクト名以外のプロパティもあります。 >一般的にはどのような使い分けをするものなのでしょうか? シートイベントをトリガーとする処理やシート上に作られたオブジェクトから実行する処理とかでしょうか、 イベントトリガーでない場合、ほとんど標準モジュールで良いと思います まだ色々あるけれど基礎知識は解説サイトなどを検索した方が早いかも、、 https://excel-ubara.com/excelvba4/excel251.html