我想在宏的末尾保存一个excel工作簿,并在文件名中包含动态日期。我希望名称包含上个月。例如,如果宏在8/9/2013运行,我希望文件在指定的7/2013中保存。这就是我所拥有的,如果我使用当前月份它会很有效。但是,如果我在2013年8月9日运行此操作,我希望该文件另存为“2013-07月度报告”。
ActiveWorkbook.SaveAs "\\FULL PATH\Monthly Report " & Format(Date, "yyyy-mm") & ".xls"
End Sub
我之前也使用过这样的东西,但是也无法减去一个月:
wbNam = "Monthly Report_"
dt = Format(CStr(Now), "yyyy_mm")
ActiveWorkbook.SaveAs Filename:= wbNam & dt
End Sub
谢谢!
答案 0 :(得分:1)
只需使用此功能
Public Function PreviousMonth(ByVal d As Date) As Date
PreviousMonth = DateSerial(Year(d), Month(d) - 1, Day(d))
End Function
DateSerial
非常聪明,可以支持零或负月份数字。
换句话说,PreviousMonth(#1/1/2000#)是1999年12月1日。
答案 1 :(得分:1)
尝试:
dt = Format(DateAdd("m", -1, Now), "yyyy_mm")