私は、なるべくFunctionにする。というのは、入力(引数)と出力(戻り値、関数値)がはっきるするからだ。Functionプロシージャの処理内であちこちのデータを変更することはしない。あちこちのデータを変更する場合は、Subを使う。
以下のようなイメージ。
- Subプロシージャは、処理
- Functionプロシージャは、変数と同じ
どちらも何らかの処理はするが、以下の違いがある。
- Subプロシージャは、戻り値がない
- Functionプロシージャは、戻り値を返すことができる。返さなくてもいい。
Functionプロシージャは値です。宣言すると時も型を指定することができる。
bb関数をLong型とする場合「Function bb(x) As Long」と定義する。bb関数は計算式やセルの中で使える。
次の図は、2つのプロシージャを標準モジュールに定義している。どちらも、引数xをそのままイミディエイトに出力する。関数bbの方は、引数xに1を加算した結果をbbに入れる。これで関数に値が入る。
次図ようにFunctionは、値として扱える。
(Visited 50 times, 1 visits today)