运行时错误" 1004':尝试在列

时间:2016-08-05 00:05:26

标签: excel vba function for-loop

这是我的代码:

 Private Function GetRowNum(SearchedFileName As String, SearchedSheet As String, BookedColumn As Integer, DateofLoan As Date) As Integer

Dim SearchedFile As Workbook
Dim LastRow As Integer
Dim i As Integer
Set SearchedFile = Workbooks(SearchedFileName)

LastRow = SearchedFile.Sheets(SearchedSheet).Cells(Rows.Count, BookedColumn).End(xlUp).Row

For i = 2 To LastRow
     If SearchedFile.Sheets(SearchedSheet).Range(i, BookedColumn).Value = DateofLoan Then
        GetRowNum = i
        Exit For
    End If
Next I

End Function

"如果SearchedFile ....." line是给我错误的,但我无法找到它的错误。它表明变量都是应有的,它看起来应该从C2列开始并向下运行直到找到匹配的日期。我试过在.Value之后使用(Date),但这没有用。日期的格式相同,所以我认为我不需要先将它们更改为数字或文本。

我正在搜索的工作表是以只读方式打开的。

关于可能导致这种情况的任何想法?需要任何其他信息吗?

谢谢,

1 个答案:

答案 0 :(得分:2)

Range属性没有与Range(Integer, Integer)匹配的索引器。更改此行(仅为了避免横向滚动而添加延续)...

If SearchedFile.Sheets(SearchedSheet).Range(i, BookedColumn).Value = _
                                                              DateofLoan Then

......对此:

If SearchedFile.Sheets(SearchedSheet).Cells(i, BookedColumn).Value = _
                                                              DateofLoan Then