Functionプロシージャ
プロシージャとはプログラムの処理をひとまとめにしたもののこと。
以下のFunctionステートメントを使用したものをFunctionプロシージャと呼びます。
構文
[ Private | Public | Friend ][ Static ] Function name [ ( arglist ) ] [ Astype ]
[ statements ]
[ name= expression ]
[ Exit Function ]
[ statements ]
[ name= expression ]
End Function
Private | このモジュール内にある他のプロシージャからのみアクセスできることを示します。省略可。 |
Public | モジュールにある他のすべてのプロシージャからアクセスできることを示します。 Option Private が含まれるモジュールで使用されている場合、 このプロシージャはプロジェクト外部では使用できません。省略可。 |
Friend | クラスモジュール内でのみ使用できることを示します。省略可。 |
Static | プロシージャのローカル変数が呼び出し間で保持されることを示します。省略可。 |
name | このFunctionプロシージャの名前です。必須。 |
arglist | プロシージャの呼び出し時に渡される引数を表す変数のリストです。省略可。 |
type | Functionプロシージャによって返される値のデータ型です。省略可。 |
statements | このプロシージャ内で実行するステートメントのグループです。省略可。 |
expression | Function の値を返します。省略可。 |
数値によって返ってくる結果が異なるサンプルコード
Sub Sample() Dim result As String result = judge 'judgeプロシージャを呼び出す MsgBox result End Sub Function judge() As String Dim result As String Dim i As Long i = InputBox("数値を入力してください") If i >= 100 Then '100以下なら正常値 result = "正常値" Else 'その他は異常値 result = "異常値" End If judge = result End Function
注意点
- 戻り値が必要ない場合はSubプロシージャを使用してください。
コメント