我使用VBA EXCEL,我需要过滤最后3天的行。 例如:今天它是02.11,我不想看到11.02,10.02和09.02天。
我试图用宏来做到这一点:
ActiveSheet.Range("$A$1:$AB$11153").AutoFilter Field:=10, Operator:= _
xlFilterValues, Criteria2:=Array(2, "1/12/2016", 2, "1/13/2016", 2, "1/17/2016", 2, _
"1/18/2016", 2, "1/20/2016", 2, "1/21/2016", 2, "1/22/2016", 2, "1/23/2016", 0, _
"12/21/2015")
但它是痉挛日,我需要过去三天?
答案 0 :(得分:0)
构建AutoFilter method标准的关键是要意识到它必须是一个字符串。如果您要比较日期,则您提供的日期必须与您要比较的日期格式相同。即使是显示为 m / d / yyyy 的标准与显示为 mm / dd / yyyy 的值之间的微小差异也足以产生不可靠的结果。
With Worksheets("Sheet2")
If .AutoFilterMode Then .AutoFilterMode = False
With .Cells(1, 1).CurrentRegion
.Columns(10).AutoFilter Field:=1, _
Criteria1:=Chr(62) & Format(Date - 3, .Cells(2, 10).NumberFormat)
End With
End With
使用此过滤器,我们使用过滤列第二行中的单元格格式(例如Range.NumberFormat property)构建日期条件。