我正在尝试编写一个 VBA 函数,用于将赤纬和赤经转换为其十进制值。
我为 RA 提供了完美的工作功能,但不断收到
Argument not Optional
错误。
该功能当前为:
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
当我运行它时,我显然向它提供了三个参数,但它仍然不满意。
有什么想法吗?
最佳答案
这对我来说工作得很好。
注意修订,将 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
关于vba - Excel VBA函数给出 "Argument not Optional",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15671567/