Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 自动筛选不包括两个日期的范围_Vba_Excel_Date_Autofilter - Fatal编程技术网

Vba 自动筛选不包括两个日期的范围

Vba 自动筛选不包括两个日期的范围,vba,excel,date,autofilter,Vba,Excel,Date,Autofilter,我有下面的代码,在L1中我想选择除昨天和今天之外的所有日期,在M1中取消选择所有日期。我可以在M1中执行相同的操作,但无法在L1中执行操作 Range("L1").Select ActiveSheet.Range("$A$1:$U$3804").AutoFilter Field:=12, Operator:= _ xlFilterValues, Criteria2:=Array(1, "2/11/2016", 1, "3/31/2016", 2, "4/5/2016", 2, _

我有下面的代码,在L1中我想选择除昨天和今天之外的所有日期,在M1中取消选择所有日期。我可以在M1中执行相同的操作,但无法在L1中执行操作

Range("L1").Select
ActiveSheet.Range("$A$1:$U$3804").AutoFilter Field:=12, Operator:= _
    xlFilterValues, Criteria2:=Array(1, "2/11/2016", 1, "3/31/2016", 2, "4/5/2016", 2, _
    "4/6/2016", 2, "4/7/2016", 2, "4/8/2016", 2, "4/11/2016", 2, "4/12/2016", 2, "4/13/2016", _
    2, "4/14/2016", 2, "4/15/2016", 2, "4/18/2016", 2, "4/19/2016", 2, "4/20/2016", 2, _
    "4/21/2016", 2, "4/22/2016", 2, "4/25/2016", 0, "10/28/2015")
Range("M1").Select
ActiveSheet.Range("$A$1:$U$3804").AutoFilter Field:=13, Criteria1:="="
根据用户的评论:

我有从A列到U列的数据。我在每一列中都有许多标准可供选择。L列中只有日期。我想要实现的是取消选择昨天和今天的日期,并选择所有其他日期。就这样。我的任务将在那里完成

L列中只有日期。我想要实现的是取消选择昨天和今天的日期,并选择所有其他日期。就这样

筛选所有不是今天或昨天的日期

Option Explicit

Sub notTodayOrYesterday()
    With Worksheets("Sheet5")
        If .AutoFilterMode Then .AutoFilterMode = False
        With .Cells(1, 1).CurrentRegion
            .AutoFilter Field:=12, Criteria1:=Format(Date, "\<\>mm/dd/yyyy"), _
                        Operator:=xlAnd, Criteria2:=Format(Date - 1, "\<\>mm/dd/yyyy")
        End With
        If .AutoFilterMode Then .AutoFilterMode = False
    End With
End Sub
选项显式
今天或昨天的附属通知()
带工作表(“表5”)
如果.AutoFilterMode,则.AutoFilterMode=False
带.Cells(1,1).CurrentRegion
.AutoFilter字段:=12,标准1:=格式(日期,“\mm/dd/yyyy”)_
运算符:=xlAnd,准则2:=格式(日期-1,“\mm/dd/yyyy”)
以
如果.AutoFilterMode,则.AutoFilterMode=False
以
端接头
请注意,这是在具有MDY区域设置的计算机系统上测试的。如果它不适合您,并且您的系统是DMY,请更改日期格式


在应用自动筛选之前


应用自动筛选后(结束子节点前)

L列中只有日期。我想要实现的是取消选择昨天和今天的日期,并选择所有其他日期。就这样

筛选所有不是今天或昨天的日期

Option Explicit

Sub notTodayOrYesterday()
    With Worksheets("Sheet5")
        If .AutoFilterMode Then .AutoFilterMode = False
        With .Cells(1, 1).CurrentRegion
            .AutoFilter Field:=12, Criteria1:=Format(Date, "\<\>mm/dd/yyyy"), _
                        Operator:=xlAnd, Criteria2:=Format(Date - 1, "\<\>mm/dd/yyyy")
        End With
        If .AutoFilterMode Then .AutoFilterMode = False
    End With
End Sub
选项显式
今天或昨天的附属通知()
带工作表(“表5”)
如果.AutoFilterMode,则.AutoFilterMode=False
带.Cells(1,1).CurrentRegion
.AutoFilter字段:=12,标准1:=格式(日期,“\mm/dd/yyyy”)_
运算符:=xlAnd,准则2:=格式(日期-1,“\mm/dd/yyyy”)
以
如果.AutoFilterMode,则.AutoFilterMode=False
以
端接头
请注意,这是在具有MDY区域设置的计算机系统上测试的。如果它不适合您,并且您的系统是DMY,请更改日期格式


在应用自动筛选之前



应用自动筛选后(在结束子项之前)

您不能使用自动筛选执行此操作。使用字典为筛选条件构建一个数组。谢谢@Jeeped,我尝试过这样做,但无法将其恢复到昨天和今天的日期。。。请帮我写代码。没问题,但您的数据模式不清楚。列L中有整数和日期吗?您想要所有这些以及M列中的所有空格吗?A:U中是否有唯一的列?你能手动完成吗?还是不可能手动完成?在L列中只有日期值,其余的我已经完成了。我想从L列中的范围中获取未筛选的日期。我可以手动完成,但不能通过代码完成。A:U中没有唯一值。好的,因此您可以成功筛选L列中的日期。如果要“取消筛选”列L,请使用
ActiveSheet.Range(“$A$1:$U$3804”)。自动筛选字段:=12
(无其他参数)。无法使用自动筛选执行此操作。使用字典为筛选条件构建一个数组。谢谢@Jeeped,我尝试过这样做,但无法将其恢复到昨天和今天的日期。。。请帮我写代码。没问题,但您的数据模式不清楚。列L中有整数和日期吗?您想要所有这些以及M列中的所有空格吗?A:U中是否有唯一的列?你能手动完成吗?还是不可能手动完成?在L列中只有日期值,其余的我已经完成了。我想从L列中的范围中获取未筛选的日期。我可以手动完成,但不能通过代码完成。A:U中没有唯一值。好的,因此您可以成功筛选L列中的日期。如果要“取消筛选”列L,请使用
ActiveSheet.Range(“$A$1:$U$3804”)。自动筛选字段:=12
(无其他参数)。