如何在VBA的不同模块中设置全局variables?

我在第二个模块Module 2创build了一个全局的模块,这样我可以在模块1中对这些值进行引用
我尝试了以下

  Module 2 Global firstName As String 

我在模块1中有几个macros

 sub test () MsgBox firstName 'firstName is a global from Module 2 end sub 

但是, firstName在模块1中没有被我的任何macros所识别。 我如何正确地声明它们? 我需要在模块2中创build一个子文件吗?

你必须做以下事情:

Module2

 Global firstName As String Sub M2_FN() firstName = "Testing" End Sub 

然后在Module1

 Sub M1_FN() Call M2_FN MsgBox firstName 'firstName is a global from Module 2 End Sub 

它按照你的预期工作。

在第二单元中,我提到:

 Global firstname As String Sub dural() firstname = "XXX" Call checkit End Sub 

在模块1中,我提到:

 Public Sub checkit() MsgBox firstname End Sub 

当我运行硬脑膜时 ,会出现正确的文字。