我在VBA中编写了一个函数,修改当前的VLOOKUP,在找不到值时,不返回#N/A
。当我将它保存在我的活动工作簿中的模块中时,该功能正常工作但是当我将其移动到我的.xlam
项目时,输出始终为#NAME?
。我还应该注意,当我开始在单元格中输入时,自动完成功能会找到该功能。
这是我到目前为止的代码:
Function NAVLOOKUP(val As Variant, rng As Range, ofst As Integer) As Variant
Dim temp As Variant
On Error Resume Next
temp = Application.WorksheetFunction.VLookup(val, rng, ofst, False)
If IsEmpty(temp) Then
NAVLOOKUP = ""
Else
NAVLOOKUP = temp
End If
End Function
这很简单,所以我不确定问题是什么。我还在同一个.xlam
项目中创建了一个虚拟函数,只添加了一个" S"任何价值,它一直没有问题。
Function ADDS(val As Variant) As String
ADDS = val & "S"
End Function
由于第二个功能有效,我在这里不知所措。任何帮助将不胜感激。