由于某种原因,过滤器不适用,因为我看不到任何变化。该函数似乎输入了正确的值,但只有在“自定义过滤器”中手动单击“确定”时,它才会更新屏幕。
所以我想我错过了更新过滤器选项等等。
代码:
Function filter(weekstart As Date, weekend As Date)
With Worksheets("Rawdata")
.Range("A:N").AutoFilter _
field:=1, _
Criteria1:=">=" & weekstart & "", Operator:=xlAnd, Criteria2:="<=" & weekend & "", _
VisibleDropDown:=True
End With
End Function
帮助
///////////////编辑 澄清。它显示正确的日期/时间值,如果我手动单击确定,则更新过滤器并显示正确的值。很奇怪
答案 0 :(得分:1)
也许使用
Function filter(weekstart As Date, weekend As Date)
With Worksheets("Rawdata")
.Range("A:N").AutoFilter _
field:=1, _
Criteria1:=">=" & CLng(weekstart) & "", Operator:=xlAnd, Criteria2:="<=" & CLng(weekend) & "", _
VisibleDropDown:=True
End With
End Function
VBA默认使用美国日期格式,因此使用数值更安全
答案 1 :(得分:0)
那怎么样?
Worksheets("Rawdata").AutoFilter.ApplyFilter
答案 2 :(得分:0)
尝试更改您的标准..
Criteria1:=">= #" & format(weekstart,"dd.mm.yyyy") & "#", Operator:=xlAnd, Criteria2:="<= #" & format(weekend,"dd.mm.yyyy") & "#"
它应该是子过滤器,因为它没有给出返回值..