Excel VBA按日期筛选

Excel VBA按日期筛选,excel,vba,Excel,Vba,在Excel VBA中,默认日期输入格式为“mm/dd/yyyy”。如何将“yyyy/mm/dd”格式更改为“mm/dd/yyyy”,以便Excel仍将其识别为日期 每当我将输入更改为“yyyy/mm/dd”,然后将其格式化为“mm/dd/yyyy”(使用CDATE或format函数),Excel都不会过滤数据。有人知道解决方法吗?谢谢 sub date_filter() lastrow = Sheets("Sheet2").Cells.Find(What:="*", After:=[A1],

在Excel VBA中,默认日期输入格式为“mm/dd/yyyy”。如何将“yyyy/mm/dd”格式更改为“mm/dd/yyyy”,以便Excel仍将其识别为日期

每当我将输入更改为“yyyy/mm/dd”,然后将其格式化为“mm/dd/yyyy”(使用CDATE或format函数),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
子日期过滤器()
lastrow=Sheets(“Sheet2”).Cells.Find(What:=“*”,After:=[A1],SearchOrder:=xlByRows,SearchDirection:=xlPrevious)。行
dataSTART=InputBox(“请输入开始日期(示例1/01/2014)”)
dataEND=InputBox(“请输入结束日期(示例1/28/2014)”)
范围(单元格(5,2),单元格(最后一行,2))。自动筛选字段:=2,标准1=_

“>=”&dataSTART,运算符:=xlAnd,准则2:=”将日期转换为双精度(我假设变量声明为日期):

范围(单元格(5,2),单元格(lastrow,2))。自动筛选字段:=2,标准1=_
“>=”&CDbl(数据启动),运算符:=xlAnd,准则2:=”
Range(Cells(5, 2), Cells(lastrow, 2)).AutoFilter Field:=2, Criteria1:= _
        ">=" & CDbl(dataSTART), Operator:=xlAnd, Criteria2:="<=" & CDbl(dataEND)