プログラムにも「開始」「終了」があり、一連の動作の単位を「プロシージャ―」と呼んでいます。呼び出して実行する「Subプロシージャ―」、独自の関数を定義する「Functionプロシージャ―」、何かをきっかけに自動実行する「イベントプロシージャ―」、あと「Propertyプロシージャ―」が存在します。
これらVBAの実行単位である「プロシージャ―」の種類と役割りについて解説いたします。
Subプロシージャ―
①「sub 任意のタイトル」+[Enter]と入力すると End Sub が自動入力されます。
②Sub ~ End Sub までの間にコードを記入します。
③セル A1+A2 の結果を「メッセージボックス」で表示する例です。
④ツールバーの「▶」実行 をクリックすると、プロシージャ―が実行されます。
⑤エクセルワークシート上で実行されます。
Functionプロシージャ―
関数が「関数名(引数)」でできているのと同様、プロシージャ―名(戻り値)を宣言することで、自由に関数を作り出すことができます。
①例として、suuti(値) という関数を作成しました。値(n)が整数なら「整数」、値(n)が小数なら「小数」という判定結果を返します。
②セルA2~A7には判定対象の数値が入力されています。セルB2に作成した関数「suuti(A2)」を入力して下へコピーすると、「整数」または「小数」の判定結果が表示されます。
イベントプロシージャ―
何かのきっかけ=イベントが発生した時に自動実行するSubプロシージャ―の一種です。ブックを開いた時、閉じた時、印刷前等々、色々なイベントが用意されています。ここでは「ワークシート上をダブルクリックした時」に実行するイベントを例にあげます。
①シートモジュールの「BeforeDoubleClick」を選択すると、Private Sub ~ End Subまで自動作成されますので、その間にコードを記述します。
②例では、ワークシート上をダブルクリックすると「ダブルクリックされました」のメッセージが出ます。
Propertyプロシージャ―(参考)