Vba 类型与InStrRev不匹配

Vba 类型与InStrRev不匹配,vba,excel,Vba,Excel,谢谢你阅读我的问题,我的函数类型一直不匹配。我在InStrRev上阅读了MS站点,它声明它是一个整数。我的函数被设置为返回一个整数,所以我不确定我做错了什么 Function gSearch(str As String, find As String, Optional dir As String) As Integer Select Case dir Case "L", "l", "left", "Left" gSearch = InStrRev(str, find)

谢谢你阅读我的问题,我的函数类型一直不匹配。我在InStrRev上阅读了MS站点,它声明它是一个整数。我的函数被设置为返回一个整数,所以我不确定我做错了什么

Function gSearch(str As String, find As String, Optional dir As String) As Integer
Select Case dir
    Case "L", "l", "left", "Left"
        gSearch = InStrRev(str, find)
    Case "R", "r", "right", "Right"
        gSearch = InStrRev(Len(str), str, find)
    Case Else
        gSearch = InStrRev(str, find)
End Select

结束函数

第二种情况下出现错误:

 Case "R", "r", "right", "Right"
    gSearch = InStrRev(Len(str), str, find)
InStrRev的第一个参数是Len(str)。
Len(str)结果是一个数字;InStrRev第一个参数必须是字符串。

确切的错误是“运行时错误'13”:键入Mismatch@RickFlyFish这发生在我们所有人身上,答案是马克