関数・メソッド

Functionプロシージャを使ってプログラムを作る【Functionステートメント】【ExcelVBA】

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

注意点

関連記事

コメント