VBAで作成するプログラムの1単位をプロシージャと呼びます。つまり、Excelの一連の処理を1つにまとめてVBA記述したものです。プロシージャは、機能別に3種類に分かれます。
プロシージャは、モジュールに保存されます。さらに、モジュールは1つのプロジェクトにまとめられて、ExcelやAccessなどのファイルに保存されます。モジュールとは、宣言やプロシージャの塊のことで、VBAのマクロを構成する要素の1つとなります。
一般的に使う標準モジュールは、コードを記述するために用意されたモジュールで、マクロ用のプロシージャなどは、すべてここに記述します。1つのプロジェクト内に、いくつもの標準モジュールを持つことができ、追加するたびに「Module1」、「Module2」と連番で名前がつけられていきます。
では、モジュールをまず作成し、その次にモジュールの中にプロシージャを作成していきましょう。
① Visual Basic Editor画面のメニューの[挿入]から[標準モジュール]を選択します。
② モジュールウィンドウが開きます。左側の[プロジェクトエクスプローラ]の画面に標準モジュールが追加されたことを確認してください。
③ モジュールウィンドウ内をクリックし、メニューの[挿入]から[プロシージャ]を選択します。
④ プロシージャの追加ダイアログボックスが表示されます。プロシージャの名前と種類を指定して、OKボタンをクリックします。
⑤ モジュールにプロシージャが挿入されます。中に簡単なコードを記述してみます。
※ Public SubとEnd Subはプロシージャの始まりと終わりを表します。その間に、内容をVBAコードで記述していきます。
ちなみに、Public(Privateの場合もある) SubからEnd Subまでをサブプロシージャともいい、1つのプロシージャとしてカウントします。
⑥ プロシージャを実行してみます。メニューの[実行]から[Sub/ユーザフォームの実行]を選択します。
⑦ VBA記述に間違いがなければ、Excelのシート画面に戻りその結果を実行します。
※ プロシージャの実行途中に、エラーメッセージが表示され、VBAコードの一部に黄色に変化した行がある場合、文法上の間違いがあることを意味します。プログラムを修正する前に、[実行]メニューから[リセット]をクリックしてください。
最初、オブジェクトのモジュールの名前は、Module1、Module2などと表示されます。わかりやすい名前に変更したい場合は、プロパティウィンドウで操作を行います。
プロパティウィンドウのオブジェクト名を「sample」と記述すると、プロジェクトエクスプローラで、名前の変更が確認できます。
また、モジュールを削除したい場合は、削除したいモジュールの上で右クリックし、「(モジュール名)の解放」を選択します。
削除のためのダイアログボックスが表示されます。もし、このモジュールを他の場所に保存して、このプロジェクトから削除するのであれば、「はい」を選択し、保存場所を指定してから削除を行います。保存する必要がない場合は、「いいえ」を選択して削除を行います。