gpt4 book ai didi

Excel、Compile VBAProject - 更改模块的编译顺序

转载 作者:行者123 更新时间:2023-12-02 10:49:37 32 4
gpt4 key购买 nike

假设我们在 Excel 2007 的 Visual Basic 编辑器中。我们创建一个名为 modGlass 的模块:

Sub VolatileGlass()
Dim Glass As shiny_surface

End Sub

然后我们创建第二个模块,名为modMetal:

Sub durableMetal()
Dim metal As metal_compound

End Sub

enter image description here

两个模块中的子程序都包含错误:“用户定义的类型未定义。”

当我使用“调试:编译 VBAProject”菜单项编译项目时,modGlass 模块始终首先编译。如果我:

  • 双击 modMetal 模块并编译(它?)或
  • modMetal 重命名为 amodMetal(这样,metal 模块现在位于项目模块树层次结构中的第一个)

仍然,modGlass 模块首先被编译。

问题:如果我在 VBE 中有一个包含多个模块的项目,有没有办法指定模块的编译顺序?

我并不是真的需要这个功能,但我只是好奇是否有一些快速的方法来做到这一点。我使用的是 Excel 2007。

最佳答案

模块不是根据名称编译的,而是根据创建的顺序编译的。因此,如果您在 modMetal

之前添加“a”,其实并不重要。

为了测试它,创建两个模块。确保两个模块都有错误。当您编译它时,您会注意到首先创建的模块将首先被编译。现在删除第一个模块并重新创建它。这次当你编译它时,第二个(不是新创建的)首先被编译:)

不,不幸的是没有直接的方法(据我所知)来指定该序列。然而,肮脏的方法是基于我上面建议的。将所有数据复制到记事本,然后删除所有模块,然后从头开始重新创建它们(按照您要编译的顺序)

HTH

关于Excel、Compile VBAProject - 更改模块的编译顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15578776/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com