带右函数的VBA函数
只是想知道为什么下面的代码返回#NAME?而不是实际值:带右函数的VBA函数,vba,function,Vba,Function,只是想知道为什么下面的代码返回#NAME?而不是实际值: 问题是由于函数名引起的 修正的VBA功能: Function LocateSite_Function(Title As String) As String Dim StartNumber As Long StartNumber = Len(Title) - InStr(1, Title, "_") LocateSite_Function = Right(Title, StartNumber) End Function 额外:
- 问题是由于函数名引起的
Function LocateSite_Function(Title As String) As String
Dim StartNumber As Long
StartNumber = Len(Title) - InStr(1, Title, "_")
LocateSite_Function = Right(Title, StartNumber)
End Function
额外:
Function FindSite_Function2(Title As String) As String
Dim SplitTitle As Variant
SplitTitle = Split(Title, "_")
FindSite_Function2 = UBound(SplitTitle)
End Function
这可能是项目中缺少引用的奇怪表现。查看项目引用列表(工具->引用)
您可以使用
VBA.Right
,或较早的Right$
野生猜测来解决此问题,但很可能您的范围内还有另一个名为FindSite
因此,请将名称更改为
FindSite_Function
,然后重试!) 这对我来说很好,标题的价值是什么导致了这个问题?您还可以使用split(title,“389;”)然后返回生成的数组的ubound。谢谢,我尝试了这个方法,但得到的是值1而不是值。请参阅我在原始问题中尝试的代码,Findsite_Function2您需要在ubound点引用数组,因此SplitTitle(ubound(SplitTitle))我尝试了解决方法,但无法使其工作。我应该在参考资料列表中查找什么?