通过VBA过滤日期或相等

时间:2014-03-14 12:16:23

标签: excel vba date equals autofilter

我的宏有问题。我需要在定义日期之后显示日期。但是这个宏不输出任何东西。

日期设置为文本,因此我首先将其数字格式更改为yyyy/mm/dd,然后通过查找和替换“/”将其切换为实际日期。不知道它为什么不起作用。

我的代码:

Columns("V:V").Select
Selection.NumberFormat = "dd.mm.yyyy;@"
Selection.Replace What:="/", Replacement:="/", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=True

.Range("$A$1", "$AF$" & Last_Row).AutoFilter Field:=22, Criteria1:=">=" & CDate("2014/02/27"), Operator:=xlAnd

1 个答案:

答案 0 :(得分:0)

AFAIK,在VBA中,您必须始终使用美式日期,记住日期分隔符为#。这意味着:

Criteria:=">=#02/27/2014#"  

或使用计算标准:

Criteria:=">=" & Format(myDate, "\#mm\/dd\/yyyy\#")

(格式字符串中的backslah确保下一个字符用于litterally)