プロシージャ | Excel VBA スタンダード

エクセルVBAでプログラミングをする時の、その最小単位となるのが「プロシージャ」と呼ばれるものです。

基本的には
Sub プロシージャ名()

で始まり
End Sub

で終わります。

プロシージャには、原則、ひとつの機能を実装します。

それらの組み合わせで一つのプログラムを構成するのです。

サブルーティン化
あるプロシージャから、別のプロシージャを呼びだすことができます。
これを”サブルーチン化”といいます。
プロシージャで用いる「Sub」とは”Subroutine”のことをいいます。

呼び出すときには「Call」ステートメントを用います。

Call プロシージャ名

「Call」ステートメントは省略することもできますが、変数名などと混同してしまうため、なるべく使用するようにした方がよいでしょう。

例1
サブルーティンs_macro_Msgはメッセージボックスに「呼ばれました!!」と表示するだけのプロシージャです。これをボタンを押したら呼び出すには、こうします。

Private Sub CommandButton1_Click()
 Call s_macro_Msg
End Sub

Sub s_macro_Msg()
 MsgBox "呼ばれました!!"
End Sub

ボタンを押したときに動作するプロシージャをイベントプロシージャといいます。

Functionプロシージャ
上記のSubプロシージャは、機能を実行したらそれで終了します。実行した結果をどうこうするわけではありません。それに対し、実行結果を呼び出し元に渡すプロシージャをFunctionプロシージャといいます。
Functionプロシージャは
Function プロシージャ名(引数 As データ型) As データ型
  '処理
  プロシージャ名 = 戻り値
End Function
となります。
”戻り値”とは、呼び出し元に返す値のことです。

変数の宣言に少し似た構文ですが、Fuctionプロシージャは値を返すため、その値のデータ型を指定する必要があります。


実践ファイル
Functionプロシージャ.xls





最終更新:2010年09月12日 16:23
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。