在excel vba中过滤两个日期

时间:2016-11-26 16:57:44

标签: excel vba excel-vba filtering

我需要帮助才能在两个日期之间进行过滤,这会给我一个错误:

  

未找到命名参数

我的代码

Dim StartDate As String
Dim EndDate As String
'
StartDate = Date
EndDate = Date + 365
'
ActiveSheet.AutoFilter Field:=7, Criteria1:=">=StartDate", Operator:=xlAnd, Criteria2:="<=EndDate"

非常感谢任何帮助!

3 个答案:

答案 0 :(得分:1)

if your dates are actual Date values (i.e. not String ones looking like dates), then go like this:

Dim StartDate As Date
Dim EndDate As Date
StartDate = Date
EndDate = Date + 365
ActiveSheet.Range("A1:AO1").AutoFilter Field:=7, Criteria1:=">=" & CDbl(StartDate), Operator:=xlAnd, Criteria2:="<=" & CDbl(EndDate)

答案 1 :(得分:0)

我在google驱动器上发布了一个示例文件。

https://drive.google.com/open?id=0B2w6b7-P-pX1R0dlTlFUSl9xZlE

我可以描述逻辑,但是您可以更轻松地下载它,使用它,并查看它的机制。

答案 2 :(得分:0)

基本逻辑是问题......混合了开始和结束日期逻辑(应该是EndDate = Date和StartDate = Date - 365)。

对不起烦恼!