我最近一直在玩过滤,并且在涉及过滤日期< =特定日期之前,我们遇到了很多麻烦。我在每个月末之前(即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
有谁似乎知道这是什么问题?还是一个解决方法?我想是否将日期转换为CDbl值有帮助吗?