我希望按单元格中指定的日期(用户可以更改)进行过滤,然后删除整行和不过滤。我在 Set = LastRow
部分收到对象必需的错误。
Sub Button_Delete_Rows()
Dim CuttoffDate As Date
Dim LastRow As Long
Dim rng As Range
Set CutoffDate = Sheets("PL Refresh").Range("K3").Value
Set LastRow = Sheets("Data").Range("F" & ws.Rows.Count).End(xlUp).Row
Set rng = Sheets("Data").Range("F")
With rng
.AutoFilter Field:=1, Criteria1:=">" & "CutoffDate"
.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
rng.AutoFilterMode = False
End Sub
答案 0 :(得分:1)
您不需要在简单类型上使用关键字Set
,它仅用于对象(工作簿,工作表,范围等)。
CutoffDate = Sheets("PL Refresh").Range("K3").Value
和
LastRow = Sheets("Data").Cells(Sheets("Data").Rows.Count, "F").End(xlUp).Row
就足够了。
编辑:我编辑了lastrow,因为ws
是一个未定义的对象。也许留在你的代码中的东西虽然你不再拥有那个对象。