运行时错误1004但过程仍然运行

时间:2018-01-18 20:22:35

标签: excel vba excel-vba named-ranges

我有一个奇怪的问题,宏触发运行时错误1004消息。该宏执行以下操作:

  1. 创建新工作表以捕获新项目构想(从UserForm收集数据)
  2. 在摘要工作表上为该想法创建一个新行
  3. 定义一个命名范围(名为“IdeaTitles”),它包含所有提交的想法中的所有想法标题,以便在工作簿的其他部分中使用(验证列表等)
  4. 向用户显示确认消息框
  5. 当我在我的机器上(在美国)运行此宏时,它可以完美地工作 - 没有错误消息或问题。当德国的同事在他的机器上运行宏时,他遇到以下错误消息:

      

    运行时错误'1004'

    如果他单击“调试”按钮,则会突出显示该行的这一行:

    wbHopper.Names.Add Name:="IdeaTitles", RefersTo:="=OFFSET('" & wsSummary.Name & "'!$C$6,0,0," & lngCurrentIdeaRow - lngFirstIdeaRow + 1 & ",1)"
    

    我让他将鼠标悬停在该行中的每个变量/对象上,并且它们都具有合理的值。对于第一个想法,lngCurrentIdeaRow = 6和lngFirstIdeaRow = 6,这可以得到你:

    Named Range Formula

    请注意,第6行是第一行,其中构思详细信息存储在摘要表中。

    有趣的是,如果他在调试窗口中点击F8来逐步执行代码,它将完成而不会出现任何错误。想到我疯了,我让他提交几个虚拟想法,他点击“Debug”然后点击F5完成代码的运行,它可以正常运行。

    有什么想法可能会触发这个错误弹出他的结尾?它并没有阻止宏的完成,但我想在他与团队分享宏之前将其清理干净。

1 个答案:

答案 0 :(得分:2)

Excel使用列表分隔符字符分隔函数参数。

您可以使用Application.International(xlListSeparator)从系统区域设置中获取该字符。

相关问题