在Excel VBA中,默认日期输入格式为" mm / dd / yyyy"。我怎样才能改变" yyyy / mm / dd"格式为" mm / dd / yyyy"所以Excel仍然将其识别为日期?
每当我将输入更改为" yyyy / mm / dd"然后将其格式化为" mm / dd / yyyy" (使用CDATE或格式化功能)Excel不会过滤数据。有没有人知道解决方法?谢谢!
sub date_filter()
lastrow = Sheets("Sheet2").Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
dataSTART = InputBox("Please enter start date (example 01/01/2014)")
dataEND = InputBox("Please enter end date (example 01/28/2014)")
Range(Cells(5, 2), Cells(lastrow, 2)).AutoFilter Field:=2, Criteria1:= _
">=" & dataSTART, Operator:=xlAnd, Criteria2:="<=" & dataEND
end sub
答案 0 :(得分:1)
将日期转换为Double(我假设您的变量被声明为日期):
Range(Cells(5, 2), Cells(lastrow, 2)).AutoFilter Field:=2, Criteria1:= _
">=" & CDbl(dataSTART), Operator:=xlAnd, Criteria2:="<=" & CDbl(dataEND)