RunnerWB
,其中包含大部分VBA代码(以及所有班级模块在这里)。 根据用户的需求,
InputsWB
可以在RunnerWB
中调用宏,也可以调用多个版本的RunnerWB
InputsWB
。细节对这个问题无关紧要,但是两个工作簿需要分开。
术,分裂后,我有时会得到消息
Run-time 1004 error
。如果我
Cannot Run Visual Basic Editor Because of a Syntax error
,那么代码将其运行,直到遇到下一个。
我看到了许多类似的问题
录制宏或在
Debug + F5
上。我认为我的与
Application.Calculate
有关,但是这些答案不能解释为什么会发生这种情况。我可以思考的一些原因,但无法在线确认是:
具有相同名称的两个工作簿中的模块(尽管我在Application.Calculate
中更改了模块名称,但偶尔仍然会出现错误。
具有相同名称的两个工作簿中的VBA函数
update(2019/12/02)我终于意识到了为什么我遇到了这个错误。我从我的
Application.Calculate
InputsWB
。但是,因为它是从另一个工作簿中启动的,所以我在上面解释了RunnerWB
InputsWB
i发现了终于引起该错误的问题。
i在一个称为Compile error: ambigious name detected
的模块中有一个名为
Syntax error
我的工作簿中的按钮之一是转到此按钮,并且因为名称与其链接为Application.Calculate
我将模块重命名为Application.Calculate
。该按钮仍然有效,但是VBA内部的某些东西被打破了,这是在某些执行中触发的。
结论永不给您的子名称与VBA中的模块相同,因为这可能会导致问题。
终于有效的是:
发生错误后:复制所有代码中的文本文件,删除按钮和模块。节省。关闭。打开。创建一个具有正确名称的新模块并粘贴代码。创建按钮。您必须关闭Excel/vba或错误将持续下去。
删除按钮。节省。关闭。打开。重命名模块。创建按钮。,您也必须在介于两者之间关闭Excel/vba。