本記事には広告が含まれています

【Excel VBA ベーシック】合格講座 Vol.5|VBAのモジュールとは?

Excel-VBA-ベーシック合格講座-Vol.5のアイキャッチ

このページは、VBAエキスパート(Excel VBA ベーシック)試験の合格を目指す方のための解説記事です。公式テキスト第3章「モジュールとプロシージャ」の内容のうち、モジュールについて取り上げます。

RECOMMEND 基礎を固める「最初のバイブル」
Excel VBA Basic 公式テキスト
VBAエキスパート公式テキスト Excel VBA Basic

変数、条件分岐、ループなど、自動化の基礎となる概念を網羅。試験対策としてだけでなく、実務で迷った時に立ち返る「辞書」としても長く使える一冊です。

モジュールとは

マクロ(VBAのコード)を記述する場所のことを「モジュール」と呼びます。

VBEを開くと、左側のプロジェクトエクスプローラーにさまざまなモジュールが表示されます。どこにコードを書くかによって、マクロの動作や用途が変わってきます。

モジュールの種類

VBAには5種類のモジュールがあります。試験主に標準モジュールについて出題されますが、他のモジュールの役割も押さえておきましょう。

標準モジュール

最も汎用的に使えるモジュールです。基本的にマクロはここに記述します。

VBAエキスパート試験のマクロはすべて標準モジュール上での動作を前提としています。

ユーザーフォーム

他の高級なプログラミング言語にはないExcelVBA(マクロ)の強みはこのユーザーフォームにあります。プログラミング素人でも直感的にGUI(グラフィカルユーザーインターフェース)を作成することができるモジュールです。

クラスモジュール

後の単元で解説する「オブジェクト」を自作するためのモジュールです。

クラスモジュールで実現できる機能は、すべて標準モジュールでも実装可能です。しかし、大規模な開発や再利用性を重視する場合には、クラスモジュールを活用することでコードの可読性が向上します。

ブックモジュール

ブックを開くと同時に発動するマクロや、ブックの保存をトリガー(発動条件)とするマクロを作成することができるモジュールです。

シートモジュール

セルが変更されると発動するマクロや、別シートへ操作が移ることをトリガー(発動条件)とするマクロを作成することができるモジュールです。

モジュールの操作

ここからは試験でも問われる標準モジュールの基本操作を解説します。

標準モジュールを挿入する

  • VBEを起動する(「Alt」+「F11」)。
  • プロジェクトエクスプローラーで右クリックしメニューを表示する。
  • 「挿入」⇒「標準モジュール」を選択する。

モジュールは複数作成することができ、Module1、Module2・・・と自動的に連番が付与されます。

標準モジュールの名称を変更する

  • プロパティウィンドウを表示する(「表示」タブ、もしくは「F4」キー)
  • プロジェクトエクスプローラーで対象のモジュールを選択する
  • プロパティウィンドウの「(オブジェクト名)」を編集する。

モジュール名を適切につけることは、コードの整理整頓の第一歩です。開発規模が大きくなるほど「コードを読む」コストは増大します。Module1、Module2 のまま放置せず、機能や用途がわかる名前をつける習慣を身につけましょう。モジュールはオブジェクト名の昇順で並ぶため、数字やアルファベットを活用した命名規則を設けると管理しやすくなります。

標準モジュールを削除する

  • プロジェクトエクスプローラーで削除したいモジュールで右クリックする。
  • 「<モジュール名>の解放」を選択する。
  • ダイアログボックスが表示されるため、「はい」か「いいえ」を選択する。

「いいえ」を選択すると、そのままモジュールが削除されます。「はい」を選択するとエクスポート(Excel外に保存)することができます。

標準モジュールをコピーする

標準モジュールはコピーすることができます。

  • エクスポートしたモジュールをインポートする方法
  • ドラッグ&ドロップする方法
外部保存してあるファイルをインポートする方法
ドラッグ&ドロップでモジュールをコピーする

補記:VBEからシート名を変更する

プロパティウィンドウを使うと、VBEからExcelのシート名を変更することもできます。

  • 「Microsoft Excel Objects」は以下のシートモジュールを選択する
  • プロパティウィンドウの「Name」プロパティを編集する

シートモジュールには「(オブジェクト名)」と「Name」の2つのプロパティがあります。「Name」はExcel上で表示されるシート名、「(オブジェクト名)」はVBAコード内でシートを参照する際に使用する名前です。この違いについては別の記事で詳しく解説します。

試験対策まとめ

モジュールの種類

モジュール名役割
標準モジュール試験に登場するコードはここに書かれることが前提です。
ユーザーフォームユーザーインターフェース(UI)を作成できる
クラスモジュール独自のオブジェクトを作成できる
ブックモジュールブックに紐づくイベントを作成できる
シートモジュールシートに紐づくイベントを作成できる

モジュールに対する操作

  • モジュールの挿入
  • モジュール名の変更
  • モジュールの削除
  • モジュールのコピー

INFRASTRUCTURE 退勤後の1時間が、1年後のキャリアを決める
Microsoft 365 Personal オンラインコード版
Microsoft 365 Personal (1年版)

VBAによる自動化から、Copilot(AI)との連携まで。これは単なる表計算ソフトではなく、あなたの市場価値を高める「開発環境」そのものです。
AIをパートナーとして活用し、現場で必要とされる「システム構築者」になるためには、常に最新機能が提供されるサブスクリプション版(365)が必須となります。

ライバルと同じことをして、ライバルに勝てますか?
業務時間内の学習だけでは、隣の席の同僚と同じ速度でしか成長できません。
差がつくのは、退勤後の「自分だけの時間」です。
誰も見ていない夜、エラーと格闘し、動いた瞬間にガッツポーズする——その泥臭い積み重ねだけが、あなたを「抜きんでた存在」に変えます。
本気でスキルを自分のものにしたいなら、自宅に自由な検証環境を持ってください。

⚠️ 【注意】自動更新のままにしていませんか?
Microsoft公式の「自動更新」よりも、Amazonや楽天で「オンラインコード版(1年)」を買って追加するほうが、安く済むことが多いです。
毎年かかる固定費を、セールやポイント還元をうまく使って、しっかりと節約していきましょう。

EngineeringExcelVBA BasicVBAExpert
スポンサーリンク

Comment