col*_*mik 5 excel vba module excel-2007
假设我们在 Excel 2007 的 Visual Basic 编辑器中。我们创建一个模块,名为modGlass:
Sub VolatileGlass()
Dim Glass As shiny_surface
End Sub
Run Code Online (Sandbox Code Playgroud)
然后我们创建第二个模块,名为modMetal:
Sub durableMetal()
Dim metal As metal_compound
End Sub
Run Code Online (Sandbox Code Playgroud)

两个模块中的子程序都包含错误:"User-defined type not defined."
当我使用“调试:编译 VBAProject”菜单项编译项目时,modGlass模块始终首先编译。如果我:
modMetal模块并编译(它?)或modMetal为amodMetal(以便金属模块现在位于项目的模块树层次结构中的第一个)尽管如此,modGlass模块还是首先被编译。
问题:如果我在 VBE 中有一个包含多个模块的项目,有没有办法指定模块的编译顺序?
我真的不需要这个功能,但我只是好奇是否有一些快速的方法来做到这一点。我使用的是 Excel 2007。
模块不是根据名称编译的,而是根据创建的顺序编译的。所以前面加“a”也没关系modMetal
为了测试它,创建两个模块。确保两个模块都有错误。当您编译它时,您会注意到首先创建的模块将首先被编译。现在删除第一个模块并重新创建它。这次当你编译它时,第二个(不是新创建的)首先被编译:)
不,不幸的是没有直接的方法(据我所知)来指定该序列。然而,肮脏的方法是基于我上面建议的。将所有数据复制到记事本,然后删除所有模块,然后从头开始重新创建它们(按照您要编译它们的顺序)
华泰