2017-03-13 68 views
0

我正在嘗試編寫一個調用其他函數的vba中的函數,並將輸出顯示爲一個函數數組。被調用的函數已經過測試和工作,但調用其他函數的函數返回#Value!誤差修改。社區可以提供關於可能修復的任何指導嗎?VBA函數和數組

Public Function OptionCall(OptionType As String, CallPutFlag As String, Value As Double, Delta As Double, Gamma As Double, _ 
Vega As Double, Theta As Double, Rho As Double) 

    If OptionType = "KE_European" Then 
     Value = KE_European(CallPutFlag, Underlying, Strike, Time, Rate, Volatility) 
     Delta = Delta_KE_European(CallPutFlag, Underlying, Strike, Time, Rate, Volatility) 
     Gamma = Gamma_KE_European(CallPutFlag, Underlying, Strike, Time, Rate, Volatility) 
     Vega = Vega_KE_European(CallPutFlag, Underlying, Strike, Time, Rate, Volatility) 
     Theta = Theta_KE_European(CallPutFlag, Underlying, Strike, Time, Rate, Volatility) 
     Rho = Rho_KE_European(CallPutFlag, Underlying, Strike, Time, Rate, Volatility) 
    End If 

OptionCall = Array(Value, Delta, Gamma, Vega, Theta, Rho) 

End Function 
+0

通過從子而不是從工作表中調用它來測試你的函數。您將獲得有關任何錯誤的更多信息。 –

回答

0

除非這些是全局變量,否則問題很可能是這些變量作爲參數傳遞給函數沒有在函數中聲明和設置。

Underlying, Strike, Time, Rate, Volatility