vbafilter更新函数
出于某种原因,filter不适用,因为我看不到任何更改。 该function似乎input正确的值,但只有当我手动点击确定在“自定义filter”它更新屏幕。
所以我想我错过了一个更新filter选项或东西。
码:
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
Thx的帮助
///////////////编辑澄清。 它显示正确的date/时间值,如果我手动单击确定,然后更新filter,并显示正确的值。 很奇怪
也许使用
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默认使用美国的date格式,所以使用数字值更安全
那这个呢?
Worksheets("Rawdata").AutoFilter.ApplyFilter
尝试改变你的标准..
Criteria1:=">= #" & format(weekstart,"dd.mm.yyyy") & "#", Operator:=xlAnd, Criteria2:="<= #" & format(weekend,"dd.mm.yyyy") & "#"
它应该是Sub Filter,因为它不会返回值。