訪問して頂きありがとうございます。まさふくろーです。
この記事では、Functionステートメントの書式、プロシージャ名の命名規則をご紹介します。
目次
Functionステートメントの書式
修飾子 Function プロシージャ名 [( 引数 )] As 戻り値の型
処理する内容を記述
プロシージャ名 = 処理結果
End Function
1 2 3 4 5 6 7 8 9 |
Private Function FncSample(Price As Double, DiscountRate As Double) As Double Dim DiscountAmount As Double DiscountAmount = Price * (1 - DiscountRate) FncSample = DiscountAmount End Function |
1 | 戻り値が倍精度浮動小数点数型であるFunctionプロシージャ「FncSample」を作成。引数:金額、割引率。 |
3 | 割引後の金額格納用変数「DiscountAmount」(倍精度浮動小数点数型)を宣言。 |
5 | 割引後の金額を求めて、変数「DiscountAmount」に格納。 |
7 | 変数「DiscountAmount」をFunctionプロシージャ「FncSample」に設定し、計算結果を戻す。 |
「修飾子」に指定する項目
項目 | 説明 |
Public | すべてのモジュールからプロシージャを呼び出すことができる。 |
Private | 同じモジュール内からのみ、プロシージャを呼び出すことができる。 |
Friend | クラスモジュールで使用する。同一プロジェクト内でのみプロシージャを呼び出すことができる。 |
「引数」に指定する項目
[Optional][ByVal | ByRef][ParamArray] name [As Type][= DefValue]
項目 | 必須 | 説明 |
Optional | ー | 引数がオプションであることを示すキーワード。 |
Optionalキーワードを指定した場合、指定した引数以降のすべての引数もオプション指定する必要があります。 | ||
ByVal | ー | 引数が値によって渡されることを示す。 |
ByRef | ー | 引数が参照によって渡されることを示す。既定値。 |
ParamArray |
ー |
ParamArrayキーワードを使用すると、任意の数の引数を指定できます。 |
ParamArrayキーワードを使用した場合、ByVal、ByRefまたはOptionalキーワードとともに使用することはできません。 |
||
name | 〇 | 変数の名前。 |
Type |
△ |
引数のデータ型を指定。 |
ユーザー定義型も指定することもできます。(Optionalキーワードを指定した場合は除く。) | ||
Typeは省略可能ですが、コードの可読性をあげるために指定することをおすすめします。 | ||
DefValue |
ー |
任意の定数または定数式を指定。 |
Optionalキーワードを指定した場合のみ、有効です。 |
||
型がObjectの場合、明示される既定値はNothingのみとなります。 |
「戻り値」に指定する内容
説明 |
戻り値を設定するには、プロシージャ名(FncSample) = 処理した結果の値(変数「DiscountAmount」)と指定します。 |
「戻り値の型」に指定する内容
説明 |
戻り値のデータ型を指定。 |
指定するデータ型は、処理した結果の値(変数「DiscountAmount」)と同じデータ型にします。 |
Functionプロシージャの呼び出しかた
戻り値格納用変数 = Functionプロシージャ名
1 2 3 4 5 6 7 8 9 |
Private Sub Sample() Dim ret As Double ret = FncSample(1000, 0.8) MsgBox ret End Sub |
1 | Subプロシージャ「Sample」を作成。 |
3 | Functionプロシージャの戻り値を格納する変数「ret」を宣言。 |
5 | Functionプロシージャ「FncSample」を呼び出し、戻り値を変数「ret」に格納。 |
7 | 戻り値をメッセージボックスで表示する。 |
プロシージャ名の命名規則
最後まで読んでいただき、ありがとうございました!
本のまとめ関連記事はこちら