【发布时间】:2015-03-28 14:57:53
【问题描述】:
下面的函数抛出错误424 Object Required。
我想在 Worksheets asformula 中使用它。
上传的报告选项卡中提供数据。第 7 行是标题行。
Function Bookings(Start_date As Date, End_date As Date) As Long
On Error GoTo Protection
Dim l_row As Long
Dim rngRow, resultRng, filterRng As Range
Bookings = 0
l_row = Worksheets("Uploaded Report").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Uploaded Report").AutoFilterMode = False
Set filterRng = Worksheets("Uploaded Report").Range("A7:E" & l_row)
filterRng.AutoFilter field:=1, Criteria1:="GC Hi Top", VisibleDropDown:=True
'Worksheets("Uploaded Report").Range("A7:E" & l_row).AutoFilter Field:=3, Criteria1:=">=" & Format(Start_date, "mm/dd/yyyy"), Operator:=xlAnd, Criteria2:="<=" & Format(End_date, "mm/dd/yyyy")
Worksheets("Uploaded Report").Activate
Set resultRng = filterRng.AutoFilter.Range.SpecialCells(xlCellTypeVisible)
For Each rngRow In resultRng
If rngRow.Row = 7 Then
GoTo NextIteration
End If
If Len(Worksheets("Uploaded Report").Range("A" & rngRow.Row).Value) > 0 Then
If rngRow.Row > 1 And rngRow.Column = 3 Then
Bookings = Bookings + 1
End If
End If
下一次迭代: 下一个 rngRow
保护: MsgBox Err.Number & Err.Description
End Function
【问题讨论】:
-
错误发生在哪一行?要找出答案,您可以注释掉
On Error GoTo Protection这一行。