VBA Subプロシージャから関数を呼び出す

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

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プロシージャに返します。

vba-free-addin

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples