如何设置类级变量

时间:2012-12-27 15:58:35

标签: excel vba

我正在尝试在VBA类模块中设置一个变量,每次初始化一个类的实例时它都会递增。

例如,类的第一个实例的数字为“1”,下一个实例为“2”,等等。

如果我的术语不正确,我道歉。

Private Sub Class_Initialize()
     Number=Number+1<-- This variable would increment every time there is a new instance
End Sub

2 个答案:

答案 0 :(得分:3)

在模块中声明全局或公共变量Public NumberOfInstances as Long

然后在课程中使用此代码:

Private Sub Class_Initialize()
    NumberOfInstances = NumberOfInstances + 1
End Sub

如果你想知道每个实例有哪个数字,你需要在类中添加一个成员变量并初始化它,例如:

Private mInstanceCount as Long

Public Property Get InstanceCount() as Long: InstanceCount = mInstanceCount: End Property

Private Sub Class_Initialize()
    NumberOfInstances = NumberOfInstances + 1
    mInstanceCount = NumberOfInstances
End Sub

答案 1 :(得分:0)

将变量声明在类的顶部 - 静态数字

您无法在VBA中声明静态类变量! 有可能使用真正的OO语言,例如Java。