在Excel VBA中的date之间过滤

Excel VBA中有一列包含格式为“dd.mm.yyyy hh:mm”的大量date,我只想在date(而不是小时)之间过滤此列。 由于它没有过滤正确使用> =和<=(我猜是因为时间)我想尝试按以下方式过滤:

= StartDate和<EndDate + 1

StartDate&EndDate以用户input的格式mm / dd / yyyyinput到文本框中

和我试图过滤的方式是:

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过滤工程(不正确,但至less它工作:))

我想了很多想法,但我不能让它运行! 感谢您的帮助!

"<=" & EndDate"<=" & EndDate & " 00:00:00"

所以试试这个:

 Selection.AutoFilter Field:=1, Criteria1:=">=" & StartDate, Operator:=xlAnd, Criteria2:="<=" & EndDate & " 23:59:59"