使用格式(日期)功能保存文件时出现VBA错误

S.K*_*Kat 2 excel vba excel-vba

我正在尝试保存一个activeworkbook但是当我使用下面的代码时,我不断收到错误"编译错误:期望的函数或变量",突出显示"格式"一词.

它令人难以置信,因为我在另一个宏中使用了完全相同的函数和格式,并且它完美地保存了文件.我还确保他们已经定义了相同类型的变量......

这是一行代码

ActiveWorkbook.SaveAs Filename:=SavedPath & format(Date, "mmddyyyy") & " 4512 GLUpload.xlsm"
Run Code Online (Sandbox Code Playgroud)

变量savedpath很好,因为当我在没有格式部分的情况下运行此行时,它会保存文件,但不确定为什么会搞砸它.在我的其他代码中也注意到,格式是大写的,但它不在这里.

Com*_*ern 5

您获得的编译器错误表明VBA期望可赋值(可以是文字,变量或函数的返回值).这意味着等号右边的语句中的一个标识符不属于这些类别.所以,无论是SavedPath在某处定义Sub SavedPath(),或者是有Sub Format(arg1, arg2)定义的地方(如果它有不同数量的参数,你会得到一个错误"的参数或无效的属性赋值错数").第二个线索(在注释中)是更改format为强类型Format$给出了"类型声明字符与声明的数据类型不匹配"错误.这指向编译器不将符号format视为函数调用(Format$()是强类型版本Format()).解决方案是跟踪错误使用VBA函数名称并重命名.

避免使用VBA关键字和函数名称的一个完美示例是很好的做法.