【问题标题】:Trying to filter before and after a date VBA尝试在日期 VBA 之前和之后过滤
【发布时间】:2018-08-06 06:26:47
【问题描述】:

我试图在 2013 年 4 月 30 日之前在 O 列上过滤所有内容,在 2013 年 4 月 30 日之后在 P 列上过滤所有内容。问题是,一旦过滤了 2013 年 4 月 30 日之前的所有内容,表格就会变空除了标题。

Dim SalesDate As String
SalesDate = "04/30/2013"
ActiveSheet.Range("$A$1:$W$2258").AutoFilter Field:=15,Operator:=xlFilterValues, Criteria1:="<=" & SalesDate
ActiveSheet.Range("$A$1:$W$2258").AutoFilter Field:=16,Operator:=xlFilterValues, Criteria1:=">=" & SalesDate

【问题讨论】:

    标签: vba date autofilter


    【解决方案1】:

    如果这些列实际上包含 date 值,则对字符串值进行过滤可能不起作用,也不会起作用。

    您需要将SalesDate 声明为Date 类型并正确分配。

    Dim SalesDate As DateSalesDate = #04/30/2013#

    【讨论】:

      【解决方案2】:

      根据我的测试,您必须将字符串日期转换为 Date,然后再转换为 Long 类型

          Dim SalesDate As String
          SalesDate = "04/30/2013"
      
          With ActiveSheet.Range("$A$1:$W$2258")
              .AutoFilter Field:=15, Criteria1:="<=" & CLng(CDate(SalesDate))
              .AutoFilter Field:=16, Criteria1:=">=" & CLng(CDate(SalesDate))
          End With
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-31
        • 2017-04-10
        相关资源
        最近更新 更多