【问题标题】:excel 2003 VBA: macro not foundexcel 2003 VBA:找不到宏
【发布时间】:2015-05-28 13:16:06
【问题描述】:

通过 OnTime 方法调用函数时,我不断收到错误消息 我尝试了here 所写的内容(甚至最后发表了评论),但我一直收到错误消息:

未找到宏 'I:\myFolder\test.xls'!MacroName

当从脚本中的任何位置调用函数MacroName 时,它工作正常。

提前感谢您的帮助

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    我很确定您的问题是代码不在标准模块中,而是在 ThisWorkbook 模块中...我不知道为什么,但是代码需要在标准模块中才能工作您可能想尝试将 OnTime 方法调用更改为“ThisWorkbook.Subname”

    【讨论】:

      【解决方案2】:

      错误消息中显示的路径是否与包含宏的工作簿的位置匹配?

      它可能是别的东西,但是每当显示路径时,我都会怀疑我从不同的位置加载了一些东西,而 Excel 仍在(正确地,因为它不知道你移动了文件)正在寻找宏在原始位置。

      【讨论】:

        【解决方案3】:

        是的,路径匹配。这是我的第一个宏,所以我重新编码它:)
        奇怪的是,现在它可以工作了,但只有在将 MacroName 放置在新模块中时。

        这怎么解释?

        【讨论】:

        • 我刚刚完成了我的答案:只有事件过程应该保留在'ThisWorkbook'中
        【解决方案4】:

        您是否按照this Microsoft technote 的建议检查了您的“宏观级别安全性”?

        在“工具”菜单上,指向“宏”,然后单击“安全”。 在“安全级别”选项卡上,将您的设置更改为“中”或“低”。

        注意:您需要的设置因您的情况而异。 Excel 中的默认值为中。


        现在,当涉及到the code of MacroName您只能将事件过程放在 ThisWorkbook 模块中(即 Macro_Name)。

        其他程序必须放在一个普通的模块中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-04-11
          • 1970-01-01
          • 2011-01-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多