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

【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)を作成できる
クラスモジュール独自のオブジェクトを作成できる
ブックモジュールブックに紐づくイベントを作成できる
シートモジュールシートに紐づくイベントを作成できる

モジュールに対する操作

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

PR VBAの学習、会社のPCだけで足りていますか?
Microsoft 365 Personal オンラインコード版
Microsoft 365 Personal (1年版)

VBAエキスパート試験の合格には、手を動かす練習量がものを言います。
会社のPCでは試せないコード、壊しても大丈夫な検証環境——自宅にExcelがあれば、学習効率が段違いに上がります。

試験勉強は「読む」だけでは身につきません。
エラーを出して、調べて、動かす。この繰り返しが本当の実力になります。
自宅に自由に使えるExcel環境を持つことは、合格への最短ルートです。

💡 賢い買い方
Microsoft公式の「自動更新」より、Amazonや楽天で「オンラインコード版(1年)」を買う方が安くなることが多いです。セール時期を狙えば、年間2,000〜3,000円の節約も可能。

Excel VBA ベーシックIT資格取得Logic
スポンサーリンク

Comment