尝试从excel单元格调用时,用户创建的函数不起作用

尝试从excel单元格调用时,用户创建的函数不起作用,excel,vba,Excel,Vba,我在下面给出了在excel的VBA中声明的函数。在尝试从excel调用相同的单元格时,显示0 Function AddNumber(num1 As Integer, num2 As Integer) As Integer Dim sumValue As Integer sumValue = num1 + num2 End Function 单元格函数调用: =AddNumber(2,5) 结果: 0 评估错误: #NAME? 在VBA中,为了从函数返回值,需要将返回值赋给函

我在下面给出了在excel的VBA中声明的函数。在尝试从excel调用相同的单元格时,显示0

Function AddNumber(num1 As Integer, num2 As Integer) As Integer
    Dim sumValue As Integer
    sumValue = num1 + num2
End Function
单元格函数调用:

=AddNumber(2,5)
结果: 0

评估错误:

#NAME?

在VBA中,为了从函数返回值,需要将返回值赋给函数名本身

另外,将函数标记为Public,这样当您从工作表中调用它时,它将可见

因此,你的职能应该是:

Public Function AddNumber(num1 As Integer, num2 As Integer) As Integer
    AddNumber = num1 + num2
End Function

感谢您的及时回复,但不幸的是,您建议的更改仍然不适用于我。我是否需要保存工作区并期待更改?请尝试在另一个单元格中输入公式,以确保名称正确?值未缓存或其他内容。@Ashish另外,请注意对我答案的编辑:该函数应标记为Public该函数必须在普通模块中,并且必须启用宏。非常感谢w0lf,添加关键字Public使其工作得非常好。我现在可以开始考虑编写一个更大的。我很欣赏你在这方面的能力。