按月保存以包括周数

时间:2017-04-02 17:42:19

标签: excel vba excel-vba save monthcalendar

我希望根据Month将数据从一个文件保存到另一个文件,但是如果一周到达另一个月,我仍然希望保存当前周的数据。这是代码,它适用于按月保存:

'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

1 个答案:

答案 0 :(得分:0)

在数学上使用时,VBA中的 True 被视为 -1 (与工作表的TRUE相反,即+1)。

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

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

我使用了周一= 1的vbMonday; WeekDay VBA函数默认为Sunday = 1。