带右函数的VBA函数

带右函数的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 额外:

只是想知道为什么下面的代码返回#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 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))我尝试了解决方法,但无法使其工作。我应该在参考资料列表中查找什么?