按月保存以包括周数

Saving by month to include week number

我想根据月份将数据从一个文件保存到另一个文件,但如果一周中途进入另一个月,我仍然想用当前周保存数据。以下是适用于按月保存的代码:

'Copy Data to Workbook Weekly Monthly

Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy

Application.DisplayAlerts = True

FileMonth = Month(Date)
StrFileMonth = Format(Date, "MMM")

Filepath = "F:\Customer Services\UK Order File\Monthly Figures\" & StrFileMonth & "\" & "UK_Orders_Monthly.xlsm"

Workbooks.Open (Filepath), _
UpdateLinks:=True

Worksheets("Data").Activate
Range("A1").End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues

A True in VBA 在数学上使用时被认为是 -1(与工作表的 TRUE 相反,它是 +1 ).

如果工作日(Date)大于天(Date),则该月应该是上个月;例如日期添加("m",-1,日期)。如果它等于或小于该月的第几天,则该月为当前月;例如dateadd("m", 0, 日期).

StrFileMonth = Format(dateadd("m", weekday(date, vbmonday) > day(date), date), "mmm")

我用过 vbMonday,其中 Monday = 1; WeekDay VBA 函数默认为 Sunday = 1.