繁体   English   中英

Excel VBA变量值范围-为所有子项的变量分配值

[英]Excel VBA Variable value Scope - assign value to a variable for all subs

我正在编写一个包含多个子模块的模块,并且我需要一些变量在所有模块中具有相同的值。 我知道将变量声明为

Public varname as vartype

但是如何为这样的变量分配全局值?

谢谢

对于工作表对象(与此有关的任何对象),您需要执行以下操作:

在标准代码模块中:

Public varName As Excel.Worksheet

Workbook_Open()事件中:

Private Sub Workbook_Open()
    Set varName = Sheets("mySheet")
End Sub

然后,您可以在该工作簿的任何其他模块中引用varName ,它将指向您的工作表对象。


从您的问题/评论看来,您似乎实际上想要某种对象常量,这在VBA中无法实现-有关更多信息,请参见将工作簿声明为全局变量

如果要引用诸如StringIntegerLong数据类型,则可以使用常量而不是变量,但是,一旦声明了常量(类似于'constant'的定义),就无法更改其值。即

Public Const someName As String = "Macro Man"
Public Const someNumber As Long = "1234567890"
Public Const someInt As Integer = "1453"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM