SubはFunctionの機能縮小版

私は、なるべくFunctionにする。というのは、入力(引数)と出力(戻り値、関数値)がはっきるするからだ。Functionプロシージャの処理内であちこちのデータを変更することはしない。あちこちのデータを変更する場合は、Subを使う。

以下のようなイメージ。

  1. Subプロシージャは、処理
  2. Functionプロシージャは、変数と同じ

どちらも何らかの処理はするが、以下の違いがある。

  1. Subプロシージャは、戻り値がない
  2. Functionプロシージャは、戻り値を返すことができる。返さなくてもいい。

Functionプロシージャは値です。宣言すると時も型を指定することができる。
bb関数をLong型とする場合「Function bb(x) As Long」と定義する。bb関数は計算式やセルの中で使える。
次の図は、2つのプロシージャを標準モジュールに定義している。どちらも、引数xをそのままイミディエイトに出力する。関数bbの方は、引数xに1を加算した結果をbbに入れる。これで関数に値が入る。

次図ようにFunctionは、値として扱える。

(Visited 50 times, 1 visits today)
カテゴリー: 2 VBEを使うための基本操作と知識 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です