VBA - 应用过滤器以显示今天特定日期的记录

时间:2018-05-21 12:18:43

标签: excel vba excel-vba

我有一个日期过滤器,用于显示除前几天记录之外的所有记录,然后我删除"特殊/可见"应用过滤器后的细胞。这允许我只查看前一天的数据。

以下是应用过滤器的代码行:

.Columns(iCol).AutoFilter Field:=1, Criteria1:="<>" & CLng(DateAdd("d", -1, Date))

我已经意识到,这个宏不会在周末运行,因此在周一你需要显示周五,周六和周五的记录。周日..

我认为这样可行:

.Columns(iCol).AutoFilter Field:=1, Criteria1:="<>" & CLng(DateAdd("d", -1, Date)) & CLng(DateAdd("d", -2, Date)) & CLng(DateAdd("d", -3, Date))

然而,它不起作用..它几乎就像过滤器只是在寻找前一天而不包括其他2天作为&#34;标准&#34;。

我知道星期五有数据,所以删除后应该显示数据,但是所有记录都会被删除。

注意:我可以在我的标题中说明具体寻找3天,但我希望能够在3天变为4或5或6等情况下再次使用此代码。

2 个答案:

答案 0 :(得分:1)

 .Columns(iCol).AutoFilter Field:=1, Criteria1:="<" &  CLng(DateAdd("d", -3, Date))
如果在星期一运行,

将在星期五之前获得所有日子 - 我认为你正在测试其他地方的一周

答案 1 :(得分:1)

您可以添加其他条件以从周一搜索中删除星期一:

import ListSeances from './List';

这是我做的一个例子的代码:

Sheets("Sheet3").Range("A1:A10").AutoFilter Field:=1, Criteria1:=">" & CLng(DateAdd("d", -3, Date)), Criteria2:="<>" & CLng(DateAdd("d", 0, Date))