VBA错误:检测到不明确的名称(Excel 2010)

时间:2017-07-30 09:08:21

标签: vba excel-vba excel

我对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

1 个答案:

答案 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 Integern = 32 --> result = 115

使用Function faren(n) As Doublen = 32 --> result = 115.2

您可能需要考虑以相同的方式声明c as double,因为它也会影响结果。

相关问题