这是我的代码:
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),但这没有用。日期的格式相同,所以我认为我不需要先将它们更改为数字或文本。
我正在搜索的工作表是以只读方式打开的。
关于可能导致这种情况的任何想法?需要任何其他信息吗?
谢谢,
答案 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