我在Excel VBA中有一列包含大量日期格式为“dd.mm.yyyy hh:mm”的日期 我想仅在日期(而不是小时)之间过滤此列。由于它不使用> =和< =进行过滤(我猜是因为时间)我想尝试过滤以下方式:
= StartDate和<结束日期+ 1
StartDate&用户
以格式mm / dd / yyyy在文本框中输入EndDate我尝试过滤的方式是:
EndDate_1 = DateAdd("d", 1, EndDate)
EndDate_1 = Format(EndDate_1, "mm/dd/yyyy")
Selection.AutoFilter Field:=1, Criteria1:=">=" & StartDate, Operator:=xlAnd, Criteria2:="<" & EndDate_1
但这不起作用(所有数据都被过滤掉,没有错误信息)
如果我只是输入
Selection.AutoFilter Field:=1, Criteria1:=">=" & StartDate, Operator:=xlAnd, Criteria2:="<=" & EndDate
在StartDate和EndDate上没有任何格式化过滤工作(不正确,但至少它可以工作:))
我尝试了很多想但我不能让它运行! 谢谢你的帮助!
答案 0 :(得分:2)
"<=" & EndDate
与"<=" & EndDate & " 00:00:00"
所以试试这个:
Selection.AutoFilter Field:=1, Criteria1:=">=" & StartDate, Operator:=xlAnd, Criteria2:="<=" & EndDate & " 23:59:59"