#20エクセルVBA入門-SubプロシージャからFunctionプロシージャを呼び出す

Excel VBA

今回のFunctionプロシージャの定義です。
便宜上省略可能な戻り値のデータ型は省略して説明します。

プロシージャのもう一つの種類、Functionプロシージャを見ていきます。

Subプロシージャとの最大の違いは、呼び出されたときに「戻り値」を返す点です。

前回の呼び出されたSubプロシージャは、「戻り値」を返しませんでした。

SayHiを書き換えます。

Sub を function に書き換えします。

 

 

すると、自動的にEnd SubがEnd Functionに変わります。

Functionプロシージャが返す「戻り値」をFunctionプロシージャ名と同じSayHiに代入します。

 

次に、Sub CallTest側でFunction SayHiから帰ってきた「戻り値」をDebug.Printします。

 

問題:Sub 試験・Function 加算・Sub 表示が理解できますか?

 

解答

まず、functionプロシージャ 「加算」を作成します。

加算」では二つの引数a,bを「値渡し」で受け取り、「a+b」の計算をして「戻り値」を「戻し」ます。

Sub プロシージャ 試験 では、Functionプロシージャ 「加算」 を呼び出し引数20と30を渡します。
帰ってきた値を変数 「答え」 に代入します。
Debug.Printで「答え」をイミディエイトウィンドウに表示します。

シートのA1セルに「加算」の計算結果を表示するには
Subプロシージャ「表示」を作成します。

Sub 「試験」のDebug.Printをコメントアウトし、
Sub 「表示」を呼び出します。

その際「答え」を引数として与えるので
表示(答え)と入力してください。()を忘れない事。

コメント