添加值到格式(范围(“a1”),“MMMM yyyy”)

时间:2014-09-25 20:46:53

标签: excel vba

我尝试创建一个宏来将当前报告备份到一个单独的文件夹,我想知道是否有办法在Format函数中添加一个值。

示例:

ActiveWorkbook.SaveAs Filename:= _
   "\\<IP ADDRESS>\" & Format(Range("a1") + 32, "MMMM yyyy") & "\<file name>" & Format(Range("a1"), "mm dd yy")&".xlsx"

In my Workbook, Cell A1 is 09/01/2014

当我运行宏时,我收到错误。有人可以指点我这个方向的正确方向吗?我有15-20个文件,我必须以这种方式备份。

1 个答案:

答案 0 :(得分:0)

如果文件名不包含任何非法字符,并且文件夹存在,则公式看起来很好。确保活动工作表是带有日期的工作表。如果不是,请在更改工作表之前将日期保存到变量,或者以编程方式构建所需的日期。

像:

theDate = Range("a1")

<sheet change>

ActiveWorkbook.SaveAs Filename:= _
    "\\<IP ADDRESS>\" & Format(theDate + 32, "MMMM yyyy") _
    & "\<file name>" & Format(theDate, "mm dd yy")&".xlsx"

如果文件夹格式(theDate + 32,“MMMM yyyy”)不存在,则必须先创建它:

MkDir \\<IP ADDRESS>\" & Format(theDate + 32, "MMMM yyyy")