Vba 関数から値を返す方法 (例あり)
VBA で関数から値を返すには、その値を関数名に割り当てる必要があります。
たとえば、2 つの値を除算し、除算結果を返す次の関数を作成できます。
Function DivideValues(x,y)
DivideValues = x / y
End Function
この関数の名前はDivideValuesであるため、この関数から値を返すには、x/yの結果をDivideValuesの同じ名前の変数に割り当てる必要があります。
関数にIf Elseロジックが含まれる場合は、値を関数名に複数回割り当てることができます。
たとえば、ゼロで除算しようとした場合に「ゼロで除算できません」を返す、または単に除算の結果を返す次の関数を作成できます。
Function DivideValues(x,y)
If y = 0 Then
DivideValues = " Cannot divide by zero "
Else
DivideValues = x / y
End If
End Function
次の例は、この構文を実際に使用する方法を示しています。
例: VBA 関数から値を返す方法
セルA2の値をセルB2の値で除算する関数を VBA で作成するとします。
これを行うために次の関数を作成できます。
Function DivideValues(x,y)
DivideValues = x / y
End Function
このマクロを実行すると、次の出力が表示されます。
この関数は、50 を 10 で割った結果である5の値を返します。
If Else ロジックを使用して、除算する値がゼロに等しくないかを最初にチェックする関数を作成することもできます。
Function DivideValues(x,y)
If y = 0 Then
DivideValues = " Cannot divide by zero "
Else
DivideValues = x / y
End If
End Function
セルB2の値を変更し、この関数を使用して除算を実行すると、次の結果が得られます。
ゼロで除算しようとしたため、関数は「ゼロで除算できません」を返します。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA でコードのブロックをコメントアウトする方法
VBAを使用してファイルが存在するかどうかを確認する方法
VBA を使用してフォルダーを作成する方法