Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1195 / 13645 ツリー ←次へ | 前へ→

【75734】Subのシステム的な意味 芸人 14/6/22(日) 21:13 質問[未読]
【75735】Re:Subのシステム的な意味 γ 14/6/22(日) 21:49 発言[未読]
【75736】Re:Subのシステム的な意味 芸人 14/6/22(日) 22:32 お礼[未読]

【75734】Subのシステム的な意味
質問  芸人  - 14/6/22(日) 21:13 -

引用なし
パスワード
   基本的な質問ですいませんが、VBAやっていると
時々プロシージャやオブジェクトの意味がわからなくなってくる初心者です。

1.サブプロシージャのサブというのは Subと同じものでしょうか?

2.時々Sub Mainというのもみかけますが Mainというのは単なるプログラムの名前でしょうか?

3.標準モジュールにSubを書くのと、シートモジュールにSubを書くのでは
システム的になにか違ってきますでしょうか?

エクセルは2003を使ってます。

【75735】Re:Subのシステム的な意味
発言  γ  - 14/6/22(日) 21:49 -

引用なし
パスワード
   > 1.サブプロシージャのサブというのは Subと同じものでしょうか?
はい、そうです。
なお、プロシージャには、Sub プロシージャ、Function プロシージャ、(Propertyプロシージャ)というのがあります。

> 2.時々Sub Mainというのもみかけますが Mainというのは単なるプログラムの名前でしょうか?
そうです。
Mainには、Subを統括するとか、そういう身分関係はなく、一兵卒です。
>
> 3.標準モジュールにSubを書くのと、シートモジュールにSubを書くのでは
> システム的になにか違ってきますでしょうか?
標準モジュールに書いたプロシージャは汎用的なので、
他の標準モジュールやシートモジュールから、プロシージャ名だけで呼び出すことができます。(Privateなどの指定をしない場合です。)

シートモジュールに書いたプロシージャは範囲が狭いです。
他の標準モジュールやシートモジュールから呼ぶときは、シートモジュール名を頭につけて、
Sub test()
  Sheet1.sheet_test
End Sub
のようにしなければなりません。

シートモジュールの用途は、
・シートのイベントプロシージャ
・ActiveXコントロールのイベントプロシージャ
などです。これらは、そこに書かないと動作しません。

また、シートモジュールに書いたプロシージャは、
シートを削除すると、それに伴って消えますから、
上記のような用途以外であれば、標準モジュールに書いた方がいいでしょう。

システム的な意味というのが不明ですが、どう使うかという観点で
大雑把に書いてみました。

【75736】Re:Subのシステム的な意味
お礼  芸人  - 14/6/22(日) 22:32 -

引用なし
パスワード
   γ
さん、早くて明快な解答ありがとうございます。
おかげでSubと標準モジュールの理解が進みました。
ひとつだkでもちゃんと理解できれば残りも理解するモチベーションがあがります。
↓の内容もふんふんと合点できました。
これからイベントプロシージャにトライしていきたかったのでとても助かります。


>標準モジュールに書いたプロシージャは汎用的なので、
>他の標準モジュールやシートモジュールから、プロシージャ名だけで呼び出すことができます。(Privateなどの指定をしない場合です。)
>
>シートモジュールに書いたプロシージャは範囲が狭いです。
>他の標準モジュールやシートモジュールから呼ぶときは、シートモジュール名を頭につけて、
>Sub test()
>  Sheet1.sheet_test
>End Sub
>のようにしなければなりません。
>
>シートモジュールの用途は、
>・シートのイベントプロシージャ
>・ActiveXコントロールのイベントプロシージャ
>などです。これらは、そこに書かないと動作しません。
>
>また、シートモジュールに書いたプロシージャは、
>シートを削除すると、それに伴って消えますから、
>上記のような用途以外であれば、標準モジュールに書いた方がいいでしょう。
>
>システム的な意味というのが不明ですが、どう使うかという観点で
>大雑把に書いてみました。

1195 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free