【问题标题】:Excel VBA - InputBox and Autofilter UK date format issueExcel VBA - InputBox 和 Autofilter UK 日期格式问题
【发布时间】:2019-04-23 20:37:37
【问题描述】:

我正在使用 VBA 应用具有特定日期范围的自动过滤器并运行以下代码。问题是,每次我应用自动过滤器时,日期都是美国格式(MM/DD/YYYY)。在我的报告中,日期采用英国格式 (DD/MM/YYYY),我需要使用这种格式进行报告。我的代码如下:

Dim sdt As Date
Dim edt As Date
sdt = CDate(Application.InputBox("Choose Start date.", Type:=2))    
edt = CDate(Application.InputBox("Choose End date.", Type:=2))
ActiveSheet.Range("$A:$C").AutoFilter Field:=3, Criteria1:=">=" & sdt, 
Operator:=xlAnd, Criteria2:="<=" & edt

我尝试稍微修改我的代码但没有成功:

ActiveSheet.Range("$A:$C").AutoFilter Field:=2, Criteria1:=">=" & CLng(Range("sdt").Value), Criteria2:="<=" & CLng(Range("edt").Value)

ActiveSheet.Range("$A:$C").AutoFilter Field:=2, Criteria1:=">=" & CDbl(sdt) Operator:=xlAnd, Criteria2:="<=" & CDbl(edt)

您能否建议 hot 修改我的代码以应用英国日期格式 (DD/MM/YYYY) 的自动过滤器?

提前致谢。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    您是否尝试将字符串类型应用于stdetd

    Dim sdt As String
    Dim edt As String
    sdt = Format(CDate(Application.InputBox("Choose Start date.", Default:="31-12-2018", Type:=2)), "MM-DD-YYYY")
    edt = Format(CDate(Application.InputBox("Choose End date.", Default:="31-12-2019", Type:=2)), "MM-DD-YYYY")
    ActiveSheet.Range("$A:$C").AutoFilter Field:=3, Criteria1:=">=" & sdt, Operator:=xlAnd, Criteria2:="<=" & edt
    

    我以默认日期为例,并使用错误 1004 建议的格式日期(但使用“MM-DD-YYYY”而不是“DD/MM/YYYY”)

    【讨论】:

      【解决方案2】:

      你可以试试:

      Option Explicit
      
      Sub test()
      
          Dim sdt As Date
          Dim edt As Date
      
          sdt = Format(Application.InputBox("Choose Start date.", Type:=2), "DD/MM/YYYY")
          edt = Format(Application.InputBox("Choose End date.", Type:=2), "DD/MM/YYYY")
      
      
          ActiveSheet.Range("$A:$C").AutoFilter Field:=3, Criteria1:=">=" & sdt, Operator:=xlAnd, Criteria2:="<=" & edt
      
      End Sub
      

      【讨论】:

      • 我尝试了您的建议,但这仍在应用美国格式的日期过滤器。
      • 我尝试了更新的代码,但日期格式仍然是美国。
      猜你喜欢
      • 2014-12-17
      • 2016-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-08
      • 2021-12-23
      • 2016-08-03
      • 2013-11-17
      相关资源
      最近更新 更多