Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
EXCEL VBA使用DATE()获取原始数据格式并获取一周前的日期_Vba_Date_Excel - Fatal编程技术网

EXCEL VBA使用DATE()获取原始数据格式并获取一周前的日期

EXCEL VBA使用DATE()获取原始数据格式并获取一周前的日期,vba,date,excel,Vba,Date,Excel,是否可以使用VBA获取当前日期的原始数据?我想做的是从其中一列中获取日期,并根据最后七天过滤出结果。让我给你看“日期”栏 问题是我不允许更改列中的日期。我想使用autofilter根据这些过滤出最后七天的结果 crdata.Range("A1").CurrentRegion.AutoFilter Field:=9, _ Criteria1:=">=" & CLng(Date), Operator:=xlAnd, Criteria2:="<=" &

是否可以使用VBA获取当前日期的原始数据?我想做的是从其中一列中获取日期,并根据最后七天过滤出结果。让我给你看“日期”栏

问题是我不允许更改列中的日期。我想使用autofilter根据这些过滤出最后七天的结果

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