按月保存以包括周数

我期待从一个文件保存到另一个文件到另一个基于月,但如果一个星期下降到另一个月中途,我仍然想保存数据与当前一周。 这里是代码,它可以很好地保存月份:

'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 

VBA中的True在math上使用时被认为是-1 (与工作表的TRUE是+1相反)。

如果工作日(date)大于date(date),那么月份应该是上个月; 例如dateadd(“m”,-1,Date)。 如果等于或者小于当月的那一天,则该月是当前月; 例如dateadd(“m”,0,Date)。

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

我用了vbMonday星期一= 1; 星期几VBAfunction默认为星期天= 1。