在EXCEL编程中Range作参数提示编译异常,对象使用无效

在EXCEL编程中Range作参数提示编译错误,对象使用无效

Dim dataRange As range

    Set dataRange = Sheets(os).range("A1:" & s_col_end & i_row_end)
    MsgBox dataRange.Rows.Count
    
    Dim data_f_row, data_e_row As Integer
    data_f_row = GetRowForCellValue("序号", dataRange)




Function GetRowForCellValue(ByVal s As String, ByVal r As range) As Integer    '在这行显示错误:编译错误,对象使用无效
    
    Dim findrange As range
    If Not s = "" And Not r = Nothing Then
        findrange = RngFind(s, r)
        GetRowForCellValue = findrange.Row
    Else
        GetRowForCellValue = 0
    End If
End Function




在VBA中要从一个工作表中检索另一个工作表中的数据,出现如题的错误提示:编译错误,对象使用无效。
请帮我看看,谢谢!

------解决思路----------------------
If Not s = "" And Not r = Nothing Then

这样写:
If Not s = "" And Not r Is Nothing Then

------解决思路----------------------
RngFind部分代码呢?
------解决思路----------------------
引用:
Quote: 引用:

If Not s = "" And Not r = Nothing Then

这样写:
If Not s = "" And Not r Is Nothing Then

这是其中的一个错误,我已经找到了,但还有一个错误,就是运行到findrange = RngFind(s, r)时,r没有传递过来,出错!!!

既然能执行到“findrange = RngFind(s, r)”这一句,你说“r没有传递过来”,这可能吗!!!
如果“r没有传递过来”,那这里的if语句中 Not r Is Nothing 就是为False ,只能执行 GetRowForCellValue = 0 这句,
即使 RngFind()函数有问题,也不会有影响、不会造成“错误”。