Excel VBAvariables值范围 – 为所有子项的variables赋值
我写了一个模块与几个潜艇,我需要一些variables在所有模块中具有相同的值。 我知道关于声明variables
Public varname as vartype
但是我怎样才能给这样一个variables分配一个全局值呢?
谢谢
对于工作表对象(对于这个问题的任何对象),您需要执行以下操作:
在一个标准的代码模块中:
Public varName As Excel.Worksheet
在Workbook_Open()
事件中:
Private Sub Workbook_Open() Set varName = Sheets("mySheet") End Sub
然后,您可以在该工作簿的任何其他模块中引用varName
,它将指向您的工作表对象。
从你的问题/评论看,你实际上想要某种对象常量,这是不能在VBA中完成的 – 请参阅将工作簿声明为全局variables以获取更多信息。
如果你指的是一个数值types,比如String
, Integer
或者Long
那么你可以使用一个常量而不是一个variables,但是一旦声明了这个常量的值,就不能改变它(常量的定义types)即
Public Const someName As String = "Macro Man" Public Const someNumber As Long = "1234567890" Public Const someInt As Integer = "1453"