问题描述
我创建了一个模块,用于使用自动过滤器删除行,并且条件为“最小日期”,
问题是当我创建定义条件的数组时AutoFilter不起作用。反正有解决此问题的方法。
Sub Delete_Rows()
Dim lo As ListObject
Dim arr As Variant
arr = Sheet4.Range("A2")
Set lo = Sheet1.ListObjects(1)
lo.Range.AutoFilter Field:=2,Criteria1:=arr,Operator:=xlFilterValues
Application.displayAlerts = False
lo.DataBodyRange.SpecialCells(xlCellTypeVisible).Delete
Application.displayAlerts = True
lo.AutoFilter.ShowAllData
End Sub
解决方法
- 您可以修改代码以获取最小日期的值: arr = Sheet4.Range(“ A2”)。value
- 在Excel的过滤器中,必须在VBA中以英语格式发送日期并添加条件。 => 标准1:=“>”&格式(arr,“ mm / dd / yy”)
Sub Delete_Rows()
out
结束子