我希望根据月份将数据从一个文件保存到另一个文件,但是如果一周中途进入另一个月份,我仍然希望将数据保存在本周。以下是按月保存的代码:
'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 中被认为是 -1 以数学方式使用时(与工作表的 TRUE 相反,即 +1)。
如果 weekday(Date) 大于 day(Date) 那么月份应该是上个月;例如日期添加(“m”,-1,日期)。如果等于或小于该月的某天,则该月为当前月份;例如日期添加(“m”,0,日期)。
StrFileMonth = Format(dateadd("m", weekday(date, vbmonday) > day(date), date), "mmm")
我使用了 vbMonday,其中 Monday = 1; WeekDay VBA 函数默认为 Sunday = 1。
关于vba - 按月保存以包括周数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43171461/