業務に役立つVBA

[EXCEL]VBAプロシージャ―の種類と役割り

プログラムにも「開始」「終了」があり、一連の動作の単位を「プロシージャ―」と呼んでいます。呼び出して実行する「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プロシージャ―(参考)