Excel 如何在VBA中使用日期变量

Excel 如何在VBA中使用日期变量,excel,vba,Excel,Vba,我在excel中有单元格A1,其值为2018年9月3日。我可以在VBA中将其转换为日期,如下所示 startdate=格式(2018年9月3日,“短日期”) 但是,我无法将其用于变量,例如: value1= ActiveSheet.Range("A1").Value final_value = "#" & value1 & "#" startdate= Format(final_value,"Short Date") 如何使用final_值变量来实现这一点?我试图通过以下方式

我在excel中有单元格A1,其值为
2018年9月3日
。我可以在VBA中将其转换为日期,如下所示

startdate=格式(2018年9月3日,“短日期”)

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

value1=  ActiveSheet.Range("A1").Value
final_value = "#" & value1 & "#"
startdate= Format(final_value,"Short Date")
如何使用
final_值
变量来实现这一点?我试图通过以下方式获得使用过滤器的结果:


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

假设startdate声明为日期变量,您可以使用:

startdate = ActiveSheet.Range("A1").Value
既然您已经澄清了自己在做什么,我将使用
双精度
进行自动筛选(特别是在可能存在国际问题的情况下),或者如果您对时间部分不感兴趣,则使用长时间:

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


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


将开始日期声明为变量并以这种方式执行仍然不起作用。我正在尝试将其与过滤器一起使用,并编辑了我的问题。谢谢
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1=">=" & CLng(ActiveSheet.Range("A1").Value2)
dim startDate as long
startDate = ActiveSheet.Range("A1").Value2