如何实现VBA中函数的可变参数传递

2025-01-31 06:37:59
推荐回答(1个)
回答1:

'使用 ParamArray 关键字可以使函数接收数目可变的参数
Function CalcSum(ByVal FirstArg As Integer, ParamArray OtherArgs())
    Dim i As Integer
    CalcSum = FirstArg
    For i = 0 To UBound(OtherArgs)
        CalcSum = CalcSum + OtherArgs(i)
    Next
End Function
'如果用如下代码调用该函数:
Sub Example1()
    Dim ReturnValue
    '局部变量赋予以下值:FirstArg = 4,
    'OtherArgs(0) = 3,OtherArgs(1) = 2,OtherArgs(2) = 1,等等。
    ReturnValue = CalcSum(4, 3, 2, 1)
    MsgBox ReturnValue
End Sub