You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB字典赋值触发Run-time error '424':Object required问题求助

解决VBA Dictionary修改值时的Run-time error '424: Object required'

可能的原因及对应解决方案

1. 引用了错误的Dictionary对象

如果代码在Word等Office应用中运行,默认的Dictionary可能是应用内置的专用对象(比如Word的拼写检查字典),而非我们需要的键值对类型Scripting.Dictionary。

解决方法:

  • 显式声明并创建Scripting字典:
    Dim Dic As Scripting.Dictionary
    Set Dic = New Scripting.Dictionary
    
  • 或使用后期绑定(无需手动引用库):
    Dim Dic As Object
    Set Dic = CreateObject("Scripting.Dictionary")
    

2. 日期参数格式错误

报错行中的CDate(1 / 14 / 2024)未给日期加引号,会被VBA解析为除法运算(1÷14÷2024),得到的是小数而非日期字符串,这种写法可能引发意外异常。

解决方法:
给日期字符串添加双引号,确保CDate解析正确格式的日期:

Dic("time") = CDate("1/14/2024")

3. 依赖默认属性赋值的异常

部分场景下,依赖Dictionary的默认Item属性直接赋值可能出现异常,可尝试显式调用Item属性:

解决方法:

Dic.Item("time") = CDate("1/14/2024")

4. 替代方案:删除后重新添加键值

若以上方法无效,可通过删除原有键再添加新键值对的方式实现修改:

If Dic.Exists("time") Then
    Dic.Remove "time"
End If
Dic.Add "time", CDate("1/14/2024")

内容的提问来源于stack exchange,提问作者Austin Weiss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 01:43:22