EXCEL VBA使用DATE()获取原始数据格式并获取一周前的日期
是否可以使用VBA获取当前日期的原始数据?我想做的是从其中一列中获取日期,并根据最后七天过滤出结果。让我给你看“日期”栏 问题是我不允许更改列中的日期。我想使用autofilter根据这些过滤出最后七天的结果EXCEL VBA使用DATE()获取原始数据格式并获取一周前的日期,vba,date,excel,Vba,Date,Excel,是否可以使用VBA获取当前日期的原始数据?我想做的是从其中一列中获取日期,并根据最后七天过滤出结果。让我给你看“日期”栏 问题是我不允许更改列中的日期。我想使用autofilter根据这些过滤出最后七天的结果 crdata.Range("A1").CurrentRegion.AutoFilter Field:=9, _ Criteria1:=">=" & CLng(Date), Operator:=xlAnd, Criteria2:="<=" &
crdata.Range("A1").CurrentRegion.AutoFilter Field:=9, _
Criteria1:=">=" & CLng(Date), Operator:=xlAnd, Criteria2:="<=" & CLng(Date + 7)
crdata.Range(“A1”).CurrentRegion.AutoFilter字段:=9_
准则1:=“>=”&CLng(Date),运算符:=xlAnd,准则2:=”我使用A列和下面的子列中的数据进行了测试,它过滤正确。因此,您的代码很好,但就今天的日期(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
date
表示今天是2014-12-09
- 您的筛选意味着:提供
2014-12-09
和2014-12-09
+7之间的所有日期
- 结果:没有,因为筛选范围内没有日期
代码似乎工作正常。我已经在我这边检查过了。你遇到了什么问题?@PareshJ没有问题。它只是从来没有过滤过任何东西。你一直在第9列进行过滤,是不是你要应用过滤的同一列???@PareshJ第9列是上面显示的日期列。日期不是默认函数吗?是date
是dat吗但对于您的数据和今天的日期,它会过滤并显示任何结果,因为您的任何日期都不在今天和今天+7之间
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