VBA 错误 : Ambiguous Name Detected (Excel 2010)

标签 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

最佳答案

你两次申报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以同样的方式,因为它也会影响结果。

关于VBA 错误 : Ambiguous Name Detected (Excel 2010),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45398193/

相关文章:

excel - 如何为列中的每个单元格执行函数并循环遍历所有工作簿?

vba - 使用vba的引用问题

vba - Excel VBA - 选择到列末尾减去两行

sql-server - 如何将 Excel 连接到 SQL Server 2014

html - 使用 VBA 将带有 HTML 标记的文本呈现为 Word 表格中的格式化文本

vba - 如何使用 Excel VBA 自动从 Thunderbird 发送电子邮件?

vba - 使用 SAS IOM 和 VBA 创建工作区 session

excel - 如何在 Excel 中重置工作表命名

excel - 将 IF else 与 LEFT 组合以隐藏列

vba - Excel 宏非 VBA