Excel2010マクロ編

マクロの内容を理解する

ステートメント~マクロの内容を理解する

マクロは、「ステートメント」と呼ばれる命令文の集まりです。
ステートメントとは、「セルB1を選択する」といった内容を表す、1つの完結した命令文です。
VBEのコードウィンドウでは、原則として「改行」で区切られた1行1行がステートメントです。

マクロの開始と終了を表す特別なステートメント以外の
ステートメント= マクロの命令は単純な2つの構文から構成されます。
一つ目は、「対象.属性=値」構文
2つ目は、「対象.動作」構文

では、もう少し具体的に見て行きましょう。
最初は、Subステートメント マクロの開始位置を表します。
次は、コメント
マクロの実行に影響を与えない説明文が記載されます。
その下の空白行は、見やすくするための空行
その下は、またコメント行
行頭の空白は、読みやすいように挿入されています。
マクロの実行に影響はありません。
1から6番までがそれぞれステートメントです。
一見して6番は見た目が違いますね。
これは、ブロックといい、複数のステートメントの集まりでまとまった機能をもつ範囲です。
それぞれの内容は、
1は、セルB2を選択
2は、1月と入力
3は、文字列のフリガナを記録
4は、オートフィルの実行
5は、セル範囲の選択
6は、背景色の設定
4の行末には行継続文字(半角スペース+「_」)がついています。
この行は、内容が次の行に継続している判断されます。
つまり、次の行は独立のステートメントとはみなされません。

Subプロシージャとは

Subプロシージャとは、VBAの一連の処理をまとめて名前をつけたもので、Excelでいう「マクロ」とほぼ同じ意味と考えることができます。
プログラム側からマクロを見たときに、Subプロシージャと呼ぶのだという理解で良いでしょう。

記録機能で作成されたマクロは、Subプロシージャとして標準モジュールに記述されます。また、記録時に設定する「マクロ名」はそのままSubプロシージャ名になります。
Subプロシージャは、
「Subマクロ名()」という行で始まり、「End Sub」という行で終わる一連のコードです。
実際の処理はこの2行の間に記述されます。