VBA講義室 > 覚えておきたい用語 > モジュール(Module)・プロジェクト(Project)
モジュール(Module)・プロジェクト(Project)
VBAコードを閉まっておく場所
VBAコードを記録しておく場所として、ブックにはモジュールという「メモリ上の空間」が用意されている。VBAを書く場所だと思えばよい。データや数式、グラフを保存しておく場所がシートならば、VBAで書かれたコードを保存しておく場所がモジュールである。ExcelVBAではおおむね次のようなモジュールを利用する。
- ThisWorkBookモジュール
ブックに必ず一つモジュールが割り当てられる。数は増やすことが出来ない。
- Sheetモジュール
シートに対して必ず一つSheetモジュールが割り当てられる。シートが増えればSheetモジュールもその分増える。
- 標準モジュール
マクロの記録を行うと自動的に作成され、VBAコードが記録される場所。VBAの使い始めでは最も利用するモジュールかもしれない。
- フォームモジュール
ユーザーフォームを作成すると作成されるモジュール。フォーム一つに対してモジュールが一つ割り当てられる。
- クラスモジュール
クラス定義を行うモジュール・・・。
モジュールに種類があるのには意味がある。
VBAコードを記述する場所によりその書き方や働き、用途に違いがある。
プロジェクトは「モジュールの集合体」としかヘルプには書かれていない。不親切な定義である。文字通りプロジェクトはモジュールの集合なのだが、ブック単位でプロジェクトは一つ。ブックが違えばプロジェクトも別のものとして扱われる。
プロジェクト(モジュール群)はVBEでプロジェクトエクスプローラというウィンドウでエクスプローラ風に表示される。エクセルVBAでは、ブックに付随する構成部品と考えればよい。これらはファイルとして独立して存在しているわけではなく、通常見えているExcelの画面が表側とすれば、VBEで見える側はいわばブックの裏側ということになるかもしれない。ブックを保存すればプロジェクト(モジュール群)も同時に保存されたことになる。逆に、VBE側でプロジェクトを保存すれば、ブックを保存したことにもなる。
前(プロパティ(Property)) 目次 次(記録マクロの整理と統合)