我有一个代码(如下),我可以根据上周使用日期函数并减去7进行过滤。有没有一种方法可以让我从星期二过滤到星期二呢?我知道有vbTuesday函数,但不确定为什么我不能回忆起正确的方法来拉它。
看代码:
Dim j As Integer,
j = Application.WorksheetFunction.Match("Date and Time Completed", Range("A1:BG1"), 0)
Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).AutoFilter Field:=j, Criteria1:=">=" & CLng(Date - 7)
您需要将日期条件格式化为string-date:
Criteria1:=">=" & Format(Date - 7, "dd/mm/yyyy")
首先,找到之前的最后一个星期二和星期三,并将它们格式化。
Dim PreviousWednesday As String
Dim LastTuesday As String
PreviousWednesday = Format(DateAdd("ww", -1, DatePreviousWeekday(date, vbWednesday)), "m/d/yyyy")
LastTuesday = Format(DatePreviousWeekday(date, vbTuesday), "m/d/yyyy")
' To debug:
? PreviousWednesday, LastTuesday
' Result:
' 7/6/2022 7/12/2022
这些函数来自模块DateFind.bas
从我的库VBA.Date.
然后组成条件:
Criteria1:=">=" & PreviousWednesday & "", Operator:=xlAnd, Criteria2:="<=" & LastTuesday & ""