質問: Excel VBAで小さなシステムなどを作成しています。 VBAのプログラムを書く場所なんですが、標準モジュールを追加してそこに書く以外にも、WorkSheetやWorkBookに直接書くことも出来ますが、どこに書くかは、どう使い分けるのがいいのでしょう? 基本的に、セルクリックイベントや、WorkBookのOpenイベントの処理は、それぞれの場所に書かないと仕方がないかもしれませんが、標準モジュールに書くか、SheetやWorkBookに直接書くかで、処理的に何か違いなどは無いのでしょうか? それとも、基本共通で使うものは標準モジュールに書き、Sheet個別のロジックはそれぞれのロジックに、また、WorkBook全体使うのロジックはWorkBookのところに書くという事でいいのでしょうか? 例えば、プログラムマナー的に、プログラムは出来るだけ標準モジュールに書いたほうがいいとか。。。 一般的にプロの方は、どう使い分けていらっしゃるのでしょうか?
回答: 基本的に、標準モジュールに書いています。 イベント処理も極力標準モジュールのプロシージャをコールする形にしています。 以下のサイトが分かりやすいですね。 長いので丸々抜粋は避けますが、要約すると ・シートのイベント処理を書く場合 ・シートモジュールのコードはシートをコピーすると一緒にコピーされるため、それを狙って作る場合 であればシートモジュールに書くと良い、とあります。