代码之家  ›  专栏  ›  技术社区  ›  West

如何在VBA中使用日期变量

  •  1
  • West  · 技术社区  · 7 年前

    3/09/2018

    startdate = Format(#3/09/2018#, "Short Date")

    但是,我无法将其用于变量,例如:

    value1=  ActiveSheet.Range("A1").Value
    final_value = "#" & value1 & "#"
    startdate= Format(final_value,"Short Date")
    

    我怎样才能让它和 final_value

    ActiveSheet.ListObjects("Table1").Range.AutoFilter =1, Criteria1=">="startdate

    2 回复  |  直到 7 年前
        1
  •  1
  •   user4039065 user4039065    7 年前

    为什么要把var当作日期类型呢?在VBA中,您所需要做的任何事情都是43168(如果您使用DMY并认为VBA对DMY友好,则为43346)。

    dim startDate as long
    startDate = ActiveSheet.Range("A1").Value2
    
        2
  •  2
  •   Rory    7 年前

    startdate = ActiveSheet.Range("A1").Value
    

    Double 对于自动筛选(特别是在可能存在国际问题的情况下)或长时间筛选(如果您对时间部分不感兴趣):

    ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1=">=" & ActiveSheet.Range("A1").Value2
    

    或:

    ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1=">=" & CLng(ActiveSheet.Range("A1").Value2)
    
    推荐文章