2012-09-12 3 views
1

Excel에서 Test1을 호출하면 실제 AB에 대해 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 

엑셀 : =Test1(5,2).

답변

0

선택적 매개 변수는 함수에 전달되지 않으면 기본값을 사용합니다. double 형의 경우 기본값은 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 

인공 분에 내장 된 새로운 될 것이라고 y210000000-y3 기본을 만든다.