重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Excel VBAの画面で、
左側にブックに存在するSheet一覧が出ており、
あるSheetをダブルクリックしてコードを入力しても、
挿入→標準モジュールで、Module1にコードを入力しても、同様の動作をしますが、
一般的にはどのような使い分けをするものなのでしょうか?

Sheetに直接書いたコードはそのSheetのみ、
標準モジュールだとどのSheet上でも動作する程度は認識しています。
果たしてそれだけなの?が疑問で、
それ以外で本来の基礎知識を教えて頂ければ幸いです。

A 回答 (1件)

こんにちは


ご質問内容は少しだけ違っているように思いますが、、言葉の綾だと思いますので、取敢えず。
シートモジュールと標準モジュールの違いは色々あります。

標準モジュールはブックに属しておりシートモジュールはシートに属しています。従ってシートが削除されるとコードも削除されます。
シートをコピーするとコードもコピーされますが、

他のモジュールからシートモジュール内のプロシージャを呼ぶ処理がある場、対象シートが削除された時など当然エラーになり困りますね。

シートに属しているシートモジュールにはオブジェクト名以外のプロパティもあります。

>一般的にはどのような使い分けをするものなのでしょうか?
シートイベントをトリガーとする処理やシート上に作られたオブジェクトから実行する処理とかでしょうか、
イベントトリガーでない場合、ほとんど標準モジュールで良いと思います

まだ色々あるけれど基礎知識は解説サイトなどを検索した方が早いかも、、

https://excel-ubara.com/excelvba4/EXCEL251.html
    • good
    • 4
この回答へのお礼

ありがとうございます。
正しく理解できてないから質問の仕方もおかしいのかもしれません。
失礼しました。

ご案内のURL、ずばり知りたいことが載ってそうです。
これからじっくり読んでみます。
ありがとうございました。

お礼日時:2021/07/05 14:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!