Functionプロシージャとは

Functionプロシージャは、Subプロシージャと同様に一連の処理に名前をつけてひとまとめにするためのものです。

Subプロシージとの違いは、呼び出し元に値を返せるという点にあります。

Functionプロシージャyの書式を以下に示します。

呼び出し元に返す値のことを戻り値と呼び、どのデータ型で返すかを指定する必要があります。

また、呼び出し元に返す値は、プロシージャ名へ代入する形で行います。

Function プロシージャ名() As 戻り値のデータ型
  '処理

  プロシージャ名 = 呼び出し元に返す値
End Function

以下は、getSquareというFunctionプロシージャの作成例です。

このFunctionプロシージャは、引数のtateとyokoを掛け算して、結果を呼び出し元に返すというものです。

    Option Explicit

Function getSquare(tate As Integer, yoko As Integer) As Integer

  getSquare = tate * yoko

End Function


Sub callProc()
    Dim area As Integer
    
    'getSquareの呼び出し
    '戻り値を返すプロシージャを呼び出すときは()内に引数を書く
    area = getSquare(3, 5)
    
    '計算で求めた結果が表示される
    MsgBox area
    
End Sub