【VBA基礎講座:第2回】モジュールとプロシージャ
※この記事を学習するための目安時間:30分
ここから実際にマクロを記述していきますが、その前に以下の用語2つについて解説します。
- モジュール
- プロシージャ
モジュールとプロシージャ
それでは、2つの用語について解説していきます。
詳しくは他の記事で解説しますが、今回はVBAを学習し始めるために必要な範囲に限定して解説します。
モジュール
まずは「モジュール」について解説します。
モジュールとは
モジュールとは、ブック内に保存される「マクロを記述するための用紙」のようなものです。1つのブックに複数個のモジュールを保存することができます。
モジュールにはいくつか種類がありますが、一般的なマクロは「標準モジュール」に記述します。(学習を進めていくなかで登場しますが、今は無理に覚えなくて大丈夫です)
モジュールは、 Excelで実行したいことによって種類を使い分ける必要があるよ。例えば、マクロを起動するときに細かい入力フォームを表示させたいときは、専用のモジュール(フォームモジュール)に入力項目等の入力フォームの設定を記述したりするよ。
ブック内に保存されるマクロを記述するための用紙のようなもの
モジュールの挿入方法
モジュールは次の3つのステップで挿入します。
マクロを記述するたびに行う操作なので、必ず覚えてください。
次のとおり、標準モジュールが挿入されます。
モジュールを削除したいときには、プロジェクトエクスプローラーから削除したいモジュールを選んで、右クリック→[Module1の解放]をクリックすれば削除できるよ。
- モジュールは、ブック内に保存される「マクロを記述するための用紙」のこと
- VBEの[挿入]→[標準モジュール]で挿入できる
プロシージャ
次に「プロシージャ」について解説します。
プロシージャについて
プロシージャは、マクロを構成する最小単位です。プロシージャは次の3種類があります。
- Subプロシージャ:一般的なプロシージャ
- Functonプロシージャ:何らかの値を返すことができるプロシージャ
- Propertyプロシージャ:クラスモジュールで使用するプロシージャ
これらも学習を進めるうちに出てきますが、ここでは次の3点だけ覚えられればOKです。
- マクロの最小単位をプロシージャという
- 複数種類(3種類)ある
- 一般的なプロシージャはSubプロシージャ
プロシージャ(マクロ)の記述と実行
ここではプロシージャの記述方法と実行方法について解説します。これも頻繁に行う動作のため、必ず覚えてください。
プロシージャの記述
(Sub)プロシージャはモジュール上に記述し、「Sub マクロ名()」で始まり、「End Sub」で終了します。
マクロ名は基本的に好きな名前をつけることができるよ。
プロシージャの実行
プロシージャの実行は、実行したいプロシージャの中(「Sub マクロ名()」と「End Sub」の間)にカーソルをおいて、ツールバーの[Sub/ユーザーフォームの実行]ボタンをクリックします。
プロシージャの記述とまとめ
プロシージャのまとめは次のとおりです。
- プロシージャは、「Sub マクロ名()」ではじまり、「End Sub」で終了する。
- プロシージャの実行は、プロシージャ内にカーソルをおいて[Sub/ユーザーフォームの実行]ボタンをクリックする。
実際にマクロを実行してみよう
この記事のまとめとして、プロシージャを実行します。次の5ステップに沿って、実際に動かしてみましょう。
[名前を付けて保存]から、「.xlsm」形式で保存してください。
[開発]タブから[VBE]をクリックして、VBEを開いてください。
(VBEの)[挿入]タブ→[標準モジュール]をクリックしてモジュールを挿入してください。
モジュール上に次のコードをコピー&ペーストして、プロシージャを記述してください。
1Sub test()
2 Thisworkbook.Sheets(1).cells(1."A") = "初めてのマクロ起動成功!"
3End Sub
プロシージャ内にカーソルをおいて[Sub/ユーザーフォームの実行]ボタンをクリックし、プロシージャを実行してください。
ExcelのA1セルに「初めてのマクロ起動成功!」と入力されていることを確認してください。
うまくいかないときは、この記事の該当箇所を読み返してみてね。
まとめ
いかがだったでしょうか。この記事では、モジュールとプロシージャについて紹介しました。
まとめは次のとおりです。
- モジュールは、ブック内に保存される「マクロを記述するための用紙」のこと
- VBEの[挿入]→[標準モジュール]で挿入できる
- プロシージャは、マクロの最小単位のこと
- 「Sub マクロ名()」ではじまり、「End Sub」で終了する
これからマクロを勉強していくうえで基礎になる部分なので、しっかり理解して、必要なところは覚えるようにしてください。
それでは、バイよ。