VBAのモジュールとは、コードを書く「箱」のことです。マクロが増えてきたら、機能ごとにモジュールを分けて整理すると、どこに何があるかがわかりやすくなり、修正もしやすくなります。
この記事では、次の内容を順番に解説します。
- モジュールとは何か
- モジュールの種類と使い分け
- モジュールを整理する手順
- 整理するときのポイント
モジュールとは?
VBAの編集画面(VBE)を開くと、左側に「プロジェクトエクスプローラー」という一覧が表示されます。ここに並んでいる「Module1」「Sheet1」「ThisWorkbook」などがモジュールです。
モジュールはコードを入れる箱のようなものです。1つの箱に全部のコードを入れることもできますが、マクロが増えると「どこに何を書いたかわからない」状態になります。そこで、目的ごとに箱を分けて整理するのがモジュールの使い方です。
モジュールの種類と使い分けは?
VBAには主に3種類のモジュールがあります。
- 標準モジュール:自分で作るマクロを書く場所。基本的にここにコードを書きます。
- シートモジュール:特定のシートに関連する処理を書く場所。たとえば「セルを変更したら自動で動く処理」はここに書きます。
- ThisWorkbookモジュール:ファイルを開いたときや閉じたときに自動で動く処理を書く場所。
普段のマクロはほとんどが標準モジュールに書けばOKです。シートやブックの操作に自動で反応させたい場合だけ、シートモジュールやThisWorkbookモジュールを使います。
モジュールを整理する手順は?
マクロの数が増えてきたら、次の手順で整理してみましょう。
- VBAの編集画面(Alt+F11)を開く
- 左側のプロジェクトエクスプローラーで右クリック →「挿入」→「標準モジュール」で新しい箱を追加する
- 追加したモジュールを右クリック →「プロパティ」でモジュール名を変更する(必要であれば、「ファイル操作」「印刷処理」など内容がわかる名前にする)
- 既存のマクロをコピーして、目的に合ったモジュールに貼り付ける
モジュールを分けなくても、1つのモジュールの中でコメントを使ってセクションを区切るだけでも見やすくなります。
' === ファイル操作 ===
Sub OpenReport()
Workbooks.Open "C:¥Reports¥sales.xlsx"
End Sub
' === データ整形 ===
Sub FormatSheet()
Range("A1").Font.Bold = True
End Sub
整理するときのポイントは?
- 同じような処理はまとめる:ファイルを開く・閉じる・保存する処理はひとつのモジュールにまとめると探しやすくなります。
- 使っていないマクロは削除する:動作確認のためだけに作ったマクロが残っていることがよくあります。定期的に見直して削除しましょう。
- 重複しているコードを確認する:同じような処理が複数のマクロに書かれている場合は、1つにまとめて
Callで呼び出す形にするとすっきりします。 - 名前は内容がわかるものにする:「Module1」「Module2」のままにせず、「ファイル操作」「印刷処理」など内容がわかる名前にしておくと後から探しやすくなります。
まとめ
マクロが増えてきたと感じたら、モジュールの整理を始めるタイミングです。一度整理しておくだけで、後から修正や追加がずっとやりやすくなります。
- モジュールとは:コードを書く箱のこと。目的ごとに分けると管理しやすくなる。
- 基本は標準モジュール:普段書くマクロはここに書けばOK。
- 整理の手順:新しいモジュールを作って、内容がわかる名前をつけて、マクロを目的別に移動する。
- コメントも活用:モジュールを分けなくても、コメントで区切るだけでも見やすくなる。
よくある質問
モジュールを分けると動作に影響はある?
ありません。モジュールはあくまでコードを整理するための分け方です。別のモジュールに書いたマクロでも Call で呼び出せますし、動作は同じです。
モジュールを削除するとマクロも消える?
はい、モジュールを削除するとその中に書いたコードもすべて消えます。削除する前に必要なコードを別のモジュールにコピーしてから削除しましょう。
シートモジュールに書いたマクロは、他のシートからも使える?
シートモジュールに書いたマクロは、基本的にそのシート専用です。他のシートや標準モジュールから呼び出すことはできますが、シートをまたいで使いまわしたい処理は標準モジュールに書く方がシンプルです。
モジュールの名前はどうやって変える?
VBAの編集画面でモジュールを選択すると、画面下部に「プロパティ」が表示されます。そこの「(オブジェクト名)」の欄に新しい名前を入力するだけで変更できます。プロパティが表示されていない場合は、メニューの「表示」→「プロパティウィンドウ」で表示できます。
どのくらいマクロが増えたら整理した方がいい?
目安としては、1つのモジュールに10本以上のマクロが入ってきたら整理を考えるタイミングです。それ以下でも「どこに何があるかわからない」と感じ始めたら整理するのがおすすめです。
動画で学びたい方へ
「記事を読んでも、実際に自分で書けるか不安…」という方には、動画で基礎からじっくり学べる講座がおすすめです。
VBAが初めての方を前提に、つまずきやすいポイントを先回りして解説しています。サンプル動画は無料でご覧いただけます。



