每周从星期二过滤到星期二

  • 本文关键字:星期二 过滤 每周 vba
  • 更新时间 :
  • 英文 :


我有一个代码(如下),我可以根据上周使用日期函数并减去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 & ""

相关内容

  • 没有找到相关文章

最新更新