所有工作表和所有模块的顶部都有明确的Option。
需要变量声明被选中
我只有两部分代码,每个部分都在自己的模块中。 但是 Option Explicit 被忽略。
作为测试,我输入了新的代码行
sausage = 3
它编译没有错误。
我已经使用以下代码检查了工作簿中所有可能的代码部分。除了一个以外,所有其他程序均无法编译。该模块中的整个代码为:
Option Explicit
Sub SelectPath_Click()
s = 3
End Sub
使用调试->编译VBA项目不会产生任何错误,并且再次执行此操作的选项将随后显示为灰色。
该代码是单击按钮时可以猜到的代码。我认为该按钮是Form控件,而不是active-x,但我不知道如何查询该按钮以找出其类型。
没有活动的加载项。
同时,我已经将sub从Module移到了按钮所在的工作表上,嘿,保存。编译失败。
现在的问题是,工作簿的这一部分如何忽略Option Explicit?我在做错什么吗?
答案 0 :(得分:0)
我找到了解决方案,方法是将代码从“模块”移到调用它的按钮所在的工作表上。
每个其他代码区域都无法正确地使用duff代码编译(即使其他模块中具有功能)。
我不得不将代码重新分配给按钮,但现在一切正常。
但是我不知道为什么它应该以前失败过。
感谢您的光临。
答案 1 :(得分:0)
尝试一下。听起来很愚蠢,但实际上它从Excel 2003到2016年(即使是今天早上)多次为我修复了这种情况。如果失败,您只需花费30秒的时间即可尝试这种公认的怪异解决方法。
将光标置于显式“ t”之后
输入一个空格(有一个奇怪的技术原因;请相信我)
按下Enter
按下左箭头键
点击删除键
现在,编译器应该执行您期望的操作。
这是在万事俱备的情况下,您知道Option Explicit根本无法正常工作,这会导致未声明变量的编译错误。