Run-Time 错误 1004 但程序仍在运行
Run-Time Error 1004 but Procedure Still Runs
我有一个宏触发 Run-Time 错误 1004 消息的奇怪问题。该宏执行以下操作:
- 创建新作品sheet 以捕捉新的项目想法(从 UserForm 收集数据)
- 为那个想法在摘要工作sheet上创建一个新行
- 定义一个命名范围(命名为 "IdeaTitles"),其中包含所有已提交创意的所有创意标题,以用于工作簿的其他部分(验证列表等)
- 向用户显示一个确认 MsgBox
当我在我的机器上(在美国)运行 这个宏时,它运行完美——没有错误消息或问题。当德国的一位同事 运行 在他的机器上执行宏时,他遇到以下错误消息:
Run-time error '1004'
如果他点击“调试”按钮,它会高亮显示这一行程序:
wbHopper.Names.Add Name:="IdeaTitles", RefersTo:="=OFFSET('" & wsSummary.Name & "'!$C,0,0," & lngCurrentIdeaRow - lngFirstIdeaRow + 1 & ",1)"
我让他将鼠标悬停在该行中的每个变量/objects 上,它们都有合理的值。对于第一个想法,lngCurrentIdeaRow = 6 和 lngFirstIdeaRow = 6,这让你得到这个:
请注意,第 6 行是摘要中存储想法详细信息的第一行 sheet。
有趣的是,如果他在 Debug window 中按 F8 单步执行代码,它将无任何错误地完成。觉得我疯了,我让他提交几个虚拟的想法,他会点击 "Debug" 然后按 F5 完成 运行 代码并且它可以正常工作。
知道他这边可能触发此错误的原因 pop-up 吗?它不会阻止宏完成,但我想在他与他的团队分享之前清理它。
Excel 使用 列表分隔符 字符分隔函数参数。
您可以使用 Application.International(xlListSeparator)
从系统区域设置中获取该字符。
我有一个宏触发 Run-Time 错误 1004 消息的奇怪问题。该宏执行以下操作:
- 创建新作品sheet 以捕捉新的项目想法(从 UserForm 收集数据)
- 为那个想法在摘要工作sheet上创建一个新行
- 定义一个命名范围(命名为 "IdeaTitles"),其中包含所有已提交创意的所有创意标题,以用于工作簿的其他部分(验证列表等)
- 向用户显示一个确认 MsgBox
当我在我的机器上(在美国)运行 这个宏时,它运行完美——没有错误消息或问题。当德国的一位同事 运行 在他的机器上执行宏时,他遇到以下错误消息:
Run-time error '1004'
如果他点击“调试”按钮,它会高亮显示这一行程序:
wbHopper.Names.Add Name:="IdeaTitles", RefersTo:="=OFFSET('" & wsSummary.Name & "'!$C,0,0," & lngCurrentIdeaRow - lngFirstIdeaRow + 1 & ",1)"
我让他将鼠标悬停在该行中的每个变量/objects 上,它们都有合理的值。对于第一个想法,lngCurrentIdeaRow = 6 和 lngFirstIdeaRow = 6,这让你得到这个:
请注意,第 6 行是摘要中存储想法详细信息的第一行 sheet。
有趣的是,如果他在 Debug window 中按 F8 单步执行代码,它将无任何错误地完成。觉得我疯了,我让他提交几个虚拟的想法,他会点击 "Debug" 然后按 F5 完成 运行 代码并且它可以正常工作。
知道他这边可能触发此错误的原因 pop-up 吗?它不会阻止宏完成,但我想在他与他的团队分享之前清理它。
Excel 使用 列表分隔符 字符分隔函数参数。
您可以使用 Application.International(xlListSeparator)
从系统区域设置中获取该字符。