ここから本文です

VBAProjectにある「ThisWorkbook」に命令?を書くのと「Module」に書くので...

sur********さん

2012/6/716:29:15

VBAProjectにある「ThisWorkbook」に命令?を書くのと「Module」に書くのでは違いは何ですか?

閲覧数:
871
回答数:
1

違反報告

ベストアンサーに選ばれた回答

sio********さん

2012/6/718:04:47

モジュールはいくつかありますが、もっとも使用するのは「標準モジュール」「シートモジュール」「ブックモジュール」の3つです。
「標準モジュール」は挿入メニューまたはコマンドボタンから挿入できるほか、マクロを記録すると自動で挿入されます。
「シートモジュール」はVBEのProjectエクスプローラーのSheet1(Sheet1)をダブルクリックするか、シートの見出しを右クリック、コードの表示をクリックすると表示されます。
「ブックモジュール」はVBEのProjectエクスプローラーのThisWorkBookをダブルクリックすると表示されます。

ブックモジュール「ThisWorkbook」には、一般的にはブックのイベントプロシージャとそこから呼び出されるサブプロシージャを書きます。もちろん、ブックのイベントプロシージャはここにしか書けません。

「標準モジュール」は、他のプロシージャから呼び出すサブプロシージャなど汎用的なものを書きます。例えば、各シートモジュールのイベントから同じように呼び出されるサブプロシージャといったものです。また、Functionプロシージャ(ユーザー定義関数)は「標準モジュール」に書きます。

「シートモジュール」はシートのイベントプロシージャやそのシートからのみ呼び出されるサブプロシージャを書きます。というのも、「シートモジュール」はブック間でのシートのコピーをした場合、シートモジュールもコピーされるので、部品として再利用しやすくなります。いわゆるカプセル化といったことになります。また、シートモジュールでは、そのシートの参照をMeで行える、シート名を省いて範囲(Range)を指定できるなど簡潔な書き方もできます。

質問した人からのコメント

2012/6/8 09:19:52

成功 ありがとうございます。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる