将重复行转换为新列时出现ActiveX 429运行时错误,如何解决?
解决VBA运行时错误429(Scripting.Dictionary创建失败)
运行时错误429通常是因为Scripting.Dictionary组件注册异常、Excel安全限制或Office兼容性问题导致的,以下是几种可行的解决方法:
重新注册Scripting组件
以管理员身份打开命令提示符,依次执行以下命令(根据系统位数选择):regsvr32.exe C:\Windows\System32\scrrun.dll64位系统额外执行:
regsvr32.exe C:\Windows\SysWOW64\scrrun.dll执行完成后会弹出注册成功提示,重启Excel后再运行脚本。
改用早期绑定替代后期绑定
后期绑定(CreateObject)依赖组件注册,换成早期绑定更稳定:- 打开VBA编辑器(按
Alt+F11),点击顶部菜单栏「工具」→「引用」,找到并勾选Microsoft Scripting Runtime - 修改代码中的字典声明部分:
将原来的:
替换为:Dim dictRw As Object, dictCol As Object Set dictRw = CreateObject("scripting.dictionary") Set dictCol = CreateObject("scripting.dictionary")
直接声明字典实例,避免组件注册问题。Dim dictRw As New Dictionary, dictCol As New Dictionary
- 打开VBA编辑器(按
调整Excel安全设置
打开Excel,依次点击「文件」→「选项」→「信任中心」→「信任中心设置」:- 在「宏设置」中,选择「启用所有宏(不推荐;可能会运行有潜在危险的代码)」(仅临时测试使用,完成后建议改回更严格的设置)
- 在「ActiveX设置」中,选择「允许运行未标记为安全的ActiveX控件」(同样仅临时测试)
修复Office安装
如果以上方法都无效,打开控制面板→「程序和功能」,找到Microsoft Office,右键选择「更改」→「快速修复」,等待修复完成后重启电脑再测试脚本。
内容的提问来源于stack exchange,提问作者nick lanta
相关产品推荐
相关产品推荐

