2013-03-27 40 views
3

我試圖編寫一個VBA函數來轉換赤字&右升爲其十進制值。Excel VBA函數給出「參數不可選」

我對RA完美工作的功能,但不斷收到

參數不可選

錯誤。

這個功能目前:

Public Function dec2decimal(Deg As Integer, Min2 As Integer, Sec2 As Integer) As Double 

    Dim Dec As Double 
    Dec = 0 
    If Deg >= 0 Then 
     Dec = (Deg + Min2/60 + Sec2/3600) 
    Else 
     Dec = (Deg - Min2/60 - Sec2/3600) 
    End If 

    ra2decimal = Dec 
End Function 

我顯然提供它有三個參數,當我運行它,但它仍然高興不起來。

任何想法?

+4

ra2decimal?不明白。 – chuff 2013-03-27 23:39:49

+0

在哪裏以及如何在Excel或vba編輯器中調用此函數? – 2013-03-27 23:43:15

+1

多一個建議 - 檢查參數分隔字符是否不混淆。 – 2013-03-27 23:50:00

回答

1

這對我來說工作得很好。

請注意修訂,將ra2decimal更改爲dec2decimal

Option Explicit 
Sub testDec2Decimal() 

MsgBox dec2decimal(1, 1, 1) 

End Sub 

Public Function dec2decimal(Deg As Integer, Min2 As Integer, Sec2 As Integer) As Double 

    Dim Dec As Double 
    Dec = 0 
    If Deg >= 0 Then 
     Dec = (Deg + Min2/60 + Sec2/3600) 
    Else 
     Dec = (Deg - Min2/60 - Sec2/3600) 
    End If 

    dec2decimal = Dec 
End Function 
1

檢查以下內容:

  • 你確定,你執行你所描述的功能,是否有可能,在另一個命名空間或類另一個主要作用是執行?

  • 你確定你正確地傳遞參數,他們的類型是正確的,他們的號碼是正確的,他們用逗號分隔嗎?

  • 你確定你沒有犯錯誤或通過委託調用函數(這不是問題,但我們應該知道能夠幫助你)。