过去三天如何在VBA中进行过滤?

过去三天如何在VBA中进行过滤?,vba,excel,Vba,Excel,我使用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

我使用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")

但这是痉挛的日子,我需要最后三天?

建立痉挛标准的关键是认识到它必须是一个字符串。如果要比较日期,则提供的日期格式必须与要比较的日期格式相同。即使是发布为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

使用此筛选器,我们将使用筛选列第二行中的单元格格式(例如)构造日期条件。

为创建条件的关键是认识到它必须是字符串。如果要比较日期,则提供的日期格式必须与要比较的日期格式相同。即使是发布为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

使用此筛选器,我们将使用筛选列第二行中的单元格格式(例如)构建日期条件。

是否要查看最后三天或不查看?你想看今天之前的最后72小时还是最后三天?使用now函数的时间范围有什么意义?您想查看最近三天还是不查看?你想看今天之前的最后72小时还是最后三天?使用now函数的时间范围是什么?