【问题标题】:Filter between dates in Excel VBA在 Excel VBA 中的日期之间过滤
【发布时间】:2014-06-01 16:42:18
【问题描述】:

我在 Excel VBA 中有一个列,其中包含许多“dd.mm.yyyy hh:mm”格式的日期 我只想在日期之间过滤此列(而不是按小时)。由于它不能正确使用 >= 和

= 开始日期和

用户在文本框中输入开始日期和结束日期,格式为 mm/dd/yyyy

我尝试过滤的方式是:

 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 上没有任何格式,过滤工作(不正确,但至少它工作 :))

我尝试了很多想法,但我无法让它运行! 感谢您的帮助!

【问题讨论】:

  • 应该是:Criteria1:="&gt;=" &amp; StartDate, Operator:=xlAnd, Criteria2:="&lt;=" &amp; EndDate+1?

标签: vba excel excel-2013


【解决方案1】:

"&lt;=" &amp; EndDate"&lt;=" &amp; EndDate &amp; " 00:00:00" 相同

所以试试这个:

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

【讨论】:

    猜你喜欢
    • 2017-04-10
    • 2019-04-22
    • 2021-12-16
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    • 2018-09-21
    • 2020-08-03
    相关资源
    最近更新 更多