1

Excel で呼び出すTest1と、任意の実数Aおよびに対して 0 が返されますB。なぜこれが起こるのですか?

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

エクセルの場合: =Test1(5,2).

4

1 に答える 1

0

オプションのパラメーターは、関数に渡されない場合、デフォルト値を使用します。double のデフォルト値は0y2です。y3Application.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、新しいビルトイン人工最小になりますy310000000

于 2012-09-12T12:18:04.580 に答える