隐藏变量声明 VBA

Hidden variable declaration VBA

问题:有没有可能在VBA中有些变量的声明是"hidden"?

情况:

我有一个包含很多模块的 Excel 文件,但由于某些原因,每当我们打开它时都会显示此消息 我尝试了一些 "solutions" 在某些论坛上找到的没有成功 -> 我决定通过 sheet 复制 sheet 并在一个新的 "clean" excel 文件中逐个模块地复制整个内容。

问题: 代码没有 运行 说明未声明变量 XXX(好吧...有道理),但我检查了损坏的文件即使它没有在任何地方声明(我在整个项目中使用 Finder 检查),有问题的代码可以 运行...令人困惑!

有什么解释吗?

最坏情况,快速而肮脏的情况 - 从每个模块、class、工作簿和工作表中删除 Option Explicit。它确保声明了所有变量。例如,尝试 运行 宁以下代码:

Option Explicit

Sub TestMe()
    k = 5
    Debug.Print k

End Sub

你不能。然后在Sub TestMe()之后加上dim k as long。或者删除 Option Explicit。现在你可以 运行 它了。

缓慢而干净的解决方案: 检查所有变量,当您尝试 运行 代码并声明它们时,这些变量会突出显示。您的代码会 运行 更快。