创build一个重置文件并保存为新的一天的macros

在工作中,我一直在尝试创build一个能自动清除一定范围内容的macros,范围是B78:G83。

清除这个范围之后,我想让macros以一个新名字保存当前文件。 新名称应为当天,格式为“dd mmmm”(名称的两位数字,中间的空格,然后是整个月份的名称)

文件path是(fe)

“T:\ RESERVATIONS \ Duty Report \ 2017 \ 4。April \ 25 April”

年份,月份和当前date是可变的(因为我们在工作中为这些文件制作单独的文件夹)。

Sub NieuweDag() ' ' NieuweDag Macro ' Invoer wissen en opslaan als nieuwe dag ' ' Sneltoets: Ctrl+q ' Range("B78:G83").Select Range("G82").Activate Selection.ClearContents Dim FilePath As String Dim NewName As String FilePath = "T:\RESERVATIONS\Duty Report\": NewName = FilePath & Year(Now()) & "\" & Month(Now()) & ". " & MonthName(Now()) & "\" & Format(Date, "dd mmmm") & ".xlsm" ActiveWorkbook.SaveAs Filename:=NewName, FileFormat _ :=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False End Sub 

这是我得到的,但不起作用。 我得到错误5.这是在荷兰,所以让我来翻译:

发布期间出现错误5:

无效的程序调用或无效的参数

这里的任何人都可以帮助我吗?

正确的格式是MonthName(月数,[缩写]),您应该使用

 MonthName(Month(Now())) 

代替

 MonthName(Now()) 

另外,你可以使用增强你的代码

 Range("B78:G83").ClearContents 

代替

 Range("B78:G83").Select Range("G82").Activate Selection.ClearContents 

您可以通过更改来减less创buildNewName所需的编码量

 NewName = FilePath & Year(Now()) & "\" & Month(Now()) & ". " & MonthName(Now()) & "\" & Format(Date, "dd mmmm") & ".xlsm" 

 NewName = FilePath & Format(Now(), "yyyy\\m. mmmm\\dd mmmm") & ".xlsm"