3

我正在尝试编写一个 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

2 回答 2

1

这对我来说非常好。

注意修订,更改ra2decimaldec2decimal.

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
于 2013-03-27T23:44:04.503 回答
1

检查以下内容:

  • 你确定,你正在执行你描述的函数,是否有可能执行另一个命名空间或类中的另一个函数?

  • 你确定你正确地传递了参数,它们的类型是正确的,它们的数量是正确的,并且它们是用逗号分隔的吗?

  • 你确定你没有打错字或通过委托调用函数(这不是问题,但我们应该知道能够帮助你)。

于 2013-03-28T00:01:10.403 回答