Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.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
如何在VBA中过滤负XX个工作日?_Vba - Fatal编程技术网

如何在VBA中过滤负XX个工作日?

如何在VBA中过滤负XX个工作日?,vba,Vba,请您就以下事项提出建议: 我正在尝试使用VBA过滤工作日。我的标准应该是:筛选从今天起超过30个工作日的所有日期 .Range("$A$1:$X$2000").AutoFilter Field:=1, Criteria1:=">" & Format(Application.Evaluate("WORKDAY(TODAY(),-30)"), "dd/mm/yyyy"), Operator:=xlAnd 我试过上面的方法,但效果不理想 需要: 谢谢 West只需将符号更改为表示函数返

请您就以下事项提出建议:

我正在尝试使用VBA过滤工作日。我的标准应该是:筛选从今天起超过30个工作日的所有日期

.Range("$A$1:$X$2000").AutoFilter Field:=1, Criteria1:=">" & Format(Application.Evaluate("WORKDAY(TODAY(),-30)"), "dd/mm/yyyy"), Operator:=xlAnd
我试过上面的方法,但效果不理想

需要:

谢谢
West

只需将符号更改为表示函数返回的当天之后的所有日期,但由于您对使用该日期之前的所有日期感兴趣,请使用我尝试过的方法,但现在所有内容都已基本过滤,即应用了筛选,但未显示任何数据。我想我发现了问题。可能是格式。我现在改变了答案。试试看@Westray成功了。考虑到dd/mm/yyyy的格式,这是多么令人惊讶。Thanks@WestRayAdd,Criteria2:=我一直在使用xlAnd而不是Or。你是我的超级明星:再次感谢!
'date = today
'count -30 work days from today
'filter to display everything that is older than Date(-30 workdays from today)
.Range("$A$1:$X$2000").AutoFilter Field:=1, Criteria1:="<" & Format(Application.Evaluate("WORKDAY(TODAY(),-30)"), "mm/dd/yyyy"), Operator:=xlAnd