过滤日期按预期工作?

时间:2015-06-15 08:43:40

标签: excel-vba date autofilter vba excel

我最近一直在玩过滤,并且在涉及过滤日期< =特定日期之前,我们遇到了很多麻烦。我在每个月末之前(即2015年1月31日,2015年2月28日等)生成月度报表的帐户发票代码发票,等等...

我使用宏录制来复制这段代码:

ActiveSheet.ListObjects("TSOA").Range.AutoFilter Field:=3, Criteria1:= _
    "<=31/1/2015", Operator:=xlAnd

并相应修改以在我的表中使用:

.Worksheets("SOA").AutoFilterMode = False
        TSOA.Range.AutoFilter Field:=4, Criteria1:=str3
        TSOA.Range.AutoFilter Field:=8, Criteria1:="Unpaid"
        TSOA.Range.AutoFilter Field:=3, Criteria1:="<=31/1/2015"

还有2个其他过滤器正常工作。不幸的是,自动过滤器的最后日期过滤掉了所有内容。更令人费解的是,在对自定义日期过滤器进行一些检查后,过滤器就位!当&#34;刷新&#34; - 即在右键单击下拉选项下手动选择自定义日期过滤器,然后按“确定”而不更改任何输入值。自动过滤器现在按预期工作!

为了更多说明,我在前两个过滤器和最后一个有问题的过滤器之间停了一下,并公布了结果:

        .Worksheets("SOA").AutoFilterMode = False
        TSOA.Range.AutoFilter Field:=4, Criteria1:=str3
        TSOA.Range.AutoFilter Field:=8, Criteria1:="Unpaid"

        Stop

        TSOA.Range.AutoFilter Field:=3, Criteria1:="<=31/1/2015", Operator:=xlAnd

        Stop

Stock Data with only first two filters After the third problematic filter Inspecting the custom date filter Pressing OK without changing any values

有谁似乎知道这是什么问题?还是一个解决方法?我想是否将日期转换为CDbl值有帮助吗?

0 个答案:

没有答案