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

标签 vba excel

我正在尝试保存事件工作簿,但当我使用以下代码时,我不断收到错误“编译错误:预期函数或变量”,并突出显示“格式”一词。

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

这是一行代码

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 关键字和函数名称是一种好的做法。

关于使用格式(日期)函数保存文件时出现VBA错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38775512/

相关文章:

excel - 如何从函数返回变量字符串并在子函数中引用该字符串

Excel宏: Find and Compare Username from a Range of Authorized Usernames

sql - 将 SQL 查询中的列插入到 HPE UFT 中的数据列中

excel - 如果查找值在单个单元格中包含多个值,如何使用 vlookup

excel - 使用 VBA 将 Lotus Notes 电子邮件正文导入 Excel 时,如何防止没有换行符的行拆分?

vba - 如何在一个单元格中获取由两个空格分隔的单元格范围

VBA 转到下一个过滤的单元格

excel - 如何从 VBA 中的 Microsoft Excel 中 Hook 窗口?

vba - EXCEL VBA - 将符合条件的列从一个工作表复制到格式化的工作表

regex - 在 Excel-VBA 中使用 RegEx 替换文本