【发布时间】:2017-12-25 20:04:36
【问题描述】:
我想声明一种全局变量。我要做的是初始化这些变量,然后在宏中使用它们,并在其他宏中更改它们的值。
我开始把它写成公共变量:
Option Explicit
'definition of global variables
Public r_start As Integer
Public r_end As Integer
Public c_little As Integer
Public c_big As Integer
Public c_sel_start As Integer
Public c_sel_end As Integer
Public c_data_start As Integer
Public c_data_end As Integer
Public Sub Init_Globals()
' Access global variable initialization
r_start = 20
r_end = 833
c_little = 6
c_big = 5
c_sel_start = 1
c_sel_end = 4
c_data_start = 11
c_data_end = 101
End Sub
这里的问题是我必须在我的每个 SubProcedure 中调用 Sub_Init_Globals(),因此如果我想在其他 SubProcedures 中更改全局变量的初始值,则不会进行这些更改。
您知道创建此类变量的方法吗?
【问题讨论】:
-
一种方法是使用包含变量的类模块,并实例化该类模块的实例。但这仍然容易受到“项目重置”的影响。
-
在 Workbook_Open() 事件中调用 Init_Globals() 是一种方法。
标签: excel initialization vba