VBA Subプロシージャから関数を呼び出す
Last updated on 6月 29, 2022
このチュートリアルでは、VBAでSubプロシージャから関数を呼び出す方法について説明します。
VBAで関数を作成する場合、その関数をExcelワークブックでUDF(ユーザー定義関数)として使用するか、Subプロシージャから呼び出すかのどちらかになります。
Subプロシージャから関数を呼び出す
関数を作成したら、Subプロシージャを使用して関数を呼び出すことにより、コードの他の任意の場所から関数を呼び出すことができます。 以下のような関数を考えてみましょう。
Function GetValue() As Integer
GetValue = 50
End Function
関数は値を返すので、関数を呼び出すには、その値を何かに渡さなければなりません。今回は、変数に値を渡すことにします。
Sub TestValues()
Dim intVal As Integer
'GetValue関数を実行する
intVal = GetValue()
'そして値を表示する
MsgBox intVal
End Sub
パラメータ付きの関数を呼び出す
関数にパラメータがある場合、正しい値を返すために、これらのパラメータをSubプロシージャから関数に渡す必要があります。
FunctionGetValue(intA as Integer) As Integer
GetValue = intA * 5
End Function
この関数を呼び出すには、次のようなSubプロシージャを実行します。
Sub TestValues()
MsgBox GetValue(10)
End Sub
このSubプロシージャは、10という値を関数に送り、関数はその値に5を掛けて、50という値をSubプロシージャに返します。