如何在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
当我运行硬脑膜时 ,会出现正确的文字。