VBA Format函数格式化日期时出现Run-time 438对象不支持属性或方法错误
VBA Format函数触发Run-time error 438的常见原因
- 命名冲突:当前报错的工作簿VBA工程中,存在和内置函数重名的
Format自定义函数、全局变量、类模块或对象,覆盖了VBA标准库的Format函数。可以在报错行右键点击Format关键字选择「定义」,如果跳转到非VBA标准库的自定义代码位置,修改自定义对象/函数的名称即可解决。 - 引用库异常:当前工作簿的VBA引用存在缺失、不匹配的项。打开VBA编辑器的「工具」-「引用」菜单,取消所有标记为「缺失」的引用项,重新编译工程即可。
- 库优先级冲突:当前工作簿引用的第三方库/对象库中存在同名的
Format方法,且优先级高于VBA标准库。可以将代码中的Format修改为VBA.Format,强制调用VBA标准库的原生函数,验证是否解决问题。 - 工作簿损坏:当前工作簿内部结构存在损坏,可将所有VBA模块导出后导入到空白新建的工作簿中测试,如果运行正常,说明原工作簿文件损坏。
内容的提问来源于stack exchange,提问作者AyukNayr
相关产品推荐
相关产品推荐

