VBA関数から結果を返す方法 質問する

VBA関数から結果を返す方法 質問する

関数から結果を返すにはどうすればいいですか?

例えば:

Public Function test() As Integer
    return 1
End Function

これによりコンパイル エラーが発生します。

この関数が整数を返すようにするにはどうすればいいでしょうか?

ベストアンサー1

非オブジェクト戻り値の型の場合、次のように関数の名前に値を割り当てる必要があります。

Public Function test() As Integer
    test = 1
End Function

使用例:

Dim i As Integer
i = test()

関数が Object 型を返す場合は、Set次のようにキーワードを使用する必要があります。

Public Function testRange() As Range
    Set testRange = Range("A1")
End Function

使用例:

Dim r As Range
Set r = testRange()

関数名に戻り値を割り当てても、関数の実行は終了しないことに注意してください。関数を終了する場合は、明示的に を指定する必要がありますExit Function。例:

Function test(ByVal justReturnOne As Boolean) As Integer
    If justReturnOne Then
        test = 1
        Exit Function
    End If
    'more code...
    test = 2
End Function

ドキュメンテーション:関数ステートメント

おすすめ記事