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プロシージャを使用してください。
コメント