プロジェクト・モジュール・プロシージャ
前のページでVBEの編集画面上のそれぞれの役割について理解しました。
次にこのページでは「VBAでのプログラミングで最低限知っておきたいこと」として「プロジェクト」と「モジュール」「プロシージャ」について解説していきたいと思います。
プロジェクト、モジュール、プロシージャ、どれも聞きなれない言葉ですが、VBAでプログラミングをしていく中では必ず知っておかなくてはいけない概念の1つです。
プロジェクト
プロジェクトは細かな実行単位(例えばデータファイルやマクロなど)が合わさった塊のようなものです。エクセルの場合、1つのシートデータ(ワークブック)が1つのプロジェクトと定義されているので、理解しやすいと思います。
例えば、マクロはマクロ単体では存在することが出来ません。(マクロが存在するためには例え中身がカラであったとしてもデータシートが必要です)
つまり、デスクトップやフォルダ内にあるデータ1つが1プロジェクトと言うことですね。
VBAでのプログラミングを考えるときに、プロジェクトはもっとも大きな単位の「かたまり」ということになります。
モジュール
モジュールとは、プロジェクトを構成しているより小さなプログラムの構成単位です。ただし、次に紹介する「プロシージャ」よりは大きな構成単位となるので、中くらいの大きさとでも言えばよいのでしょうか。
これから学ぶ「条件分岐」や「繰り返し処理」などが、このモジュールとよばれる「標準モジュール」を形成しています。
複雑なVBAのプログラムになるほど、1つのプロジェクトの中には複数のモジュールが存在していることが普通です。
プロシージャ
プロシージャとはプログラムを構成する最小単位です。
VBAのプログラミングにおいて、これより細かい構成要素はなく、これより細かい要素ではプログラムとして正常に機能しません。
つまり、マクロとして機能するための最小単位でもあるわけです。マクロの記録において、「A1のセルを選択する」といった、ものすごく単純な作業が1つのプロシージャにあたると理解して置いてください。
プロジェクト・モジュール・プロシージャの関係を簡単にまとめると以下のようになります。
<プロジェクト・モジュール・プロシージャの関係>
このように、VBAでのプログラミングではそのまとまりごとに呼び方が分かれており、そのまとまりごとの理解が全体の理解へつながります。
1つの大きなプログラム(プロジェクト)も結局は小さなプロシージャの塊に過ぎません。結局のところ、細かなプロシージャの理解がプロジェクトの理解につながるのです。