EXCEL VBA使用DATE()获取原始数据格式,并获得一个星期前的date

是否可以使用VBA获取当前date的原始数据? 我想要做的是从列的某个date获取date,并根据过去七天筛选结果。 让我告诉你“date”列。

Parent CR Sent to IT 41824.74167 41844.66528 41842.81458 41845.57778 41845.89583 41850.83958 41869.47569 41877.46528 

问题是我不允许改变列中的date。 我想使用自动filter过滤七天的结果基于这些。

 crdata.Range("A1").CurrentRegion.AutoFilter Field:=9, _ Criteria1:=">=" & CLng(Date), Operator:=xlAnd, Criteria2:="<=" & CLng(Date + 7) 

显然从上面的代码,CLng(date)不按预期工作,并不会筛选任何行。 任何build议或想法来解决它?

我在列A和下面的子文件中testing了您的数据,并正确过滤。 所以你的代码很好,但今天的date( mydate = Date )我也没有得到任何结果。

 Public Sub Test() Dim mydate As Date mydate = CDate("2014-07-22") Tabelle1.Range("A1").CurrentRegion.AutoFilter Field:=1, Criteria1:=">=" & CLng(mydate), Operator:=xlAnd, Criteria2:="<=" & CLng(mydate + 7) End Sub 

问题是你提供的数据是

 Parent CR formated as date 41824.74167 2014-07-04 41844.66528 2014-07-24 41842.81458 2014-07-22 41845.57778 2014-07-25 41845.89583 2014-07-25 41850.83958 2014-07-30 41869.47569 2014-08-18 41877.46528 2014-08-26 
  • date意思是今天是2014-12-09
  • 你的filter意味着:给我所有date在2014-12-092014-12-09 + 7之间
  • 结果:没有,因为没有date在您的filter范围内