使用Format(date)函数保存文件时出现VBA错误



我试图保存一个活动工作簿,但当我使用以下代码时,我不断收到错误"compile error:expected function or variable",并突出显示单词"format"。

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

这是单行代码

ActiveWorkbook.SaveAs Filename:=SavedPath & format(Date, "mmddyyyy") & " 4512 GLUpload.xlsm"

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

您得到的编译器错误表明VBA需要一个可赋值的值(文字、变量或函数的返回值(。这意味着等号右边的语句中的一个标识符不属于这些类别。因此,要么SavedPath在某个地方被定义为Sub SavedPath(),要么有一个Sub Format(arg1, arg2)在某个位置被定义(如果它有不同数量的参数,你会得到"错误数量的参数或无效的属性分配"错误(。第二条线索(在注释中(是,将format更改为强类型Format$会出现"类型声明字符与声明的数据类型不匹配"错误。这表明编译器没有将符号format视为函数调用(Format$()Format()的强类型版本(。解决方案是追踪VBA函数名的错误使用并重新命名。

一个很好的例子说明了为什么避免VBA关键字和函数名是一种很好的做法。

最新更新