我对VBA很新。如果我的问题很容易,我很抱歉。我有个问题。当我运行以下代码时,我收到以下错误消息:
编译器错误:检测到不明确的名称:faren
任何人都可以解释一下我的代码中哪些部分是错误的吗?
Option Explicit
Dim n As Double
Private faren As Integer
Dim result As Double
Function faren(n)
faren = (9 / 5) * (n + 32)
End Function
Function c(n)
Dim c As Long
c = (5 / 9) * (n - 32)
End Function
Sub test()
result = faren(32)
MsgBox "the degree in farenheit is " & result & "Farenheit."
End Sub
答案 0 :(得分:4)
你宣布faren两次。第一个Private faren As Integer
和第二个Function faren(n)
为避免含糊不清的名称,您可以删除Private faren As Integer
并修改功能行,如下所示:Function faren(n) As Integer
编辑:我不知道您是否故意将faren声明为Integer
而不是Double
,但我希望您看到以下结果来比较差异:
使用Function faren(n) As Integer
时n = 32 --> result = 115
使用Function faren(n) As Double
时n = 32 --> result = 115.2
您可能需要考虑以相同的方式声明c as double
,因为它也会影响结果。