全局声明和定义变量(在Module中)?

时间:2015-07-13 21:14:38

标签: vba excel-vba excel

我有一个模块(" Module1"),它有一些宏。其中一些我背靠背运行(它分割代码长度,使调试/故障排除更容易)。在该模块的顶部,我有:

Option explicit
Dim addressFileName as String

Sub noOne()
addressFileName = "C:\Batman.xslx"
End Sub

Sub noTwo()
msgbox("You want to use the file " & addressFileName)
End Sub

如果我在之后运行noOne()然后运行noTwo(),那么效果很好。但是,如果我必须在subTwo()中调试并启动宏,它就不会识别" addressFileName"。

我是否可以定义addressFileName全局使用?在声明它之后简单地添加addressFileName = "C:\Batman.xslx("编译错误:无效的外部程序")。

这可能吗?或者是否有一些解决方法?或者有一个很好的理由你不能这样做(如果是这样,我很想知道!)。谢谢你的任何想法!

1 个答案:

答案 0 :(得分:2)

  

有没有办法可以定义全局使用的addressFileName?

使用

public const addressFileName as string  = "C:\Batman.xslx"

请注意,您将无法更改字符串,但可以从项目的任何位置引用它。这需要位于模块表的顶部,而不是工作表代码表。有关详细信息,请参阅http://tvmegasite.net/transcripts/amc/main