在Excel中调用Test1
会为任何真实A
和B
提供0。为什么会这样?
Public Function Min(X As Double, y As Double, Optional y2 As Double, Optional y3 As Double) As Double
Min = Application.WorksheetFunction.Min(X, y, y2, y3)
End Function
Function Test1(A As Double, B As Double)
Test1 = Min(A, B)
End Function
在Excel中:=Test1(5,2)
。
答案 0 :(得分:0)
如果未将参数传递给函数,则可选参数将使用其默认值。
对于双打,默认值为0.如果您实际上未提供y2
或y3
,则表示您正在测试Application.WorksheetFunction.Min(A,B,0,0)
。
如果要更改默认值,可以执行以下操作:
Public Function Min(X As Double, y As Double, Optional y2 As Double = 10000000, Optional y3 As Double = 10000000) As Double
Min = Application.WorksheetFunction.Min(X, y, y2, y3)
End Function
这使得y2
和y3
默认为10000000
,这将是您新建的人工分钟。