Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA函数给出;参数非可选“;_Vba_Excel - Fatal编程技术网

Excel VBA函数给出;参数非可选“;

Excel VBA函数给出;参数非可选“;,vba,excel,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 +

我正试图编写一个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
很明显,当我运行它时,我提供了三个论点,但它仍然不高兴


有什么想法吗?

这对我来说非常好

注意修订,将
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
检查以下各项:

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

  • 您确定参数传递正确、类型正确、编号正确并且用逗号分隔吗

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


ra2decimal?不明白。在excel或vba编辑器中,在何处和如何调用此函数?还有一个建议-检查参数分隔字符是否混淆。似乎我是个白痴,忘记将最后一个ra2decimal更改为dec2decimal。谢谢大家。@FergusBarker你可能想投票给那些在这里提供帮助的人。。。