標準モジュール・クラスモジュールの使い分けと追加方法を初心者向けに解説
生徒
「VBAを始めたんですが、標準モジュールとクラスモジュールって何が違うんですか?」
先生
「どちらもVBAを書く場所ですが、役割がまったく違います。」
生徒
「最初から分けて考えないとダメなんですか?」
先生
「大丈夫です。まずは違いと使い分けの考え方を知るところから始めましょう。」
モジュールとは何かを超やさしく理解しよう
Excel VBAでいうモジュールとは、 プログラムを書くための「ノート」のような存在です。 VBAの命令文は、必ずどこかのモジュールに書きます。
例えるなら、料理のレシピを書く紙がモジュールです。 レシピが紙に書いていなければ、料理は作れません。 VBAも同じで、モジュールがなければ動きません。
Excel VBAにはいくつか種類のモジュールがありますが、 初心者がまず理解すべきなのが 標準モジュールと クラスモジュールです。
標準モジュールとは?一番よく使う基本の場所
標準モジュールは、 VBA初心者が最初に使う基本のモジュールです。 マクロの多くは、この標準モジュールに書きます。
ボタンを押したら処理を実行する、 セルの値を変更する、 メッセージを表示する、 こうした基本操作は標準モジュールが担当します。
例えるなら、 標準モジュールは「作業手順書」です。 上から順番に処理を書いていけば、 その通りにExcelが動いてくれます。
クラスモジュールとは?少し特別な役割の箱
クラスモジュールは、 ある特徴や性質をまとめて管理するためのモジュールです。 初心者には少し難しく感じやすい部分です。
クラスモジュールは、 「データ」と「動き」をひとまとめにした箱のような存在です。 人や物の設計図を作るイメージに近いです。
例えば「社員」というクラスを作れば、 名前や年齢といった情報と、 表示する処理を一緒に持たせることができます。
標準モジュールとクラスモジュールの違いを例えで理解
標準モジュールは「作業指示書」、 クラスモジュールは「設計図」と考えると分かりやすいです。
作業指示書は、 「これをして、次にこれをする」 と順番が大切です。 一方、設計図は、 「この人はこういう特徴を持つ」 という情報をまとめています。
最初のうちは、 標準モジュールだけを使っても問題ありません。 クラスモジュールは、 必要になったときに理解すれば大丈夫です。
標準モジュールの追加方法をゆっくり確認
標準モジュールの追加は、 VBEと呼ばれるVBA編集画面で行います。 VBEは、ExcelでAltキーとF11キーを同時に押すと開きます。
VBEが開いたら、 上のメニューから「挿入」をクリックし、 「標準モジュール」を選びます。
すると、左側に「Module1」などの名前で 新しいモジュールが追加されます。 ここにVBAコードを書いていきます。
クラスモジュールの追加方法と注意点
クラスモジュールの追加方法も手順は似ています。 VBEのメニューから「挿入」を選び、 「クラスモジュール」をクリックします。
追加されたクラスモジュールは、 名前を分かりやすく変更するのが大切です。 そのままだと、後で何のクラスか分からなくなります。
クラスモジュールは、 仕組みを理解せずに使うと混乱しやすいため、 無理に使う必要はありません。 まずは存在を知ることが重要です。
初心者が迷わないための使い分けの考え方
「どちらを使えばいいか分からない」 という場合は、 まず標準モジュールを選んでください。
処理をそのまま書きたい、 マクロを動かしたい、 Excelを操作したい、 こうした場合は標準モジュールが正解です。
クラスモジュールは、 同じ性質のデータをまとめたいときに使います。 最初は使わなくても問題ありません。
モジュールを正しく使うことが整理につながる
モジュールを意識して使うことで、 VBAの中身が整理され、 後から見返したときも理解しやすくなります。
特に標準モジュールを用途ごとに分けるだけでも、 プログラムはぐっと読みやすくなります。
最初は難しく考えず、 「書く場所が違う」 「役割が違う」 という点だけ押さえておきましょう。