在VBA类中声明静态数组

时间:2015-02-22 11:35:01

标签: arrays excel vba excel-vba

我正在尝试在预算类

中声明一个静态数组
private Static budgets(1 To MAX_BUDGETS_AMOUNT) As Budget

我想要它以便准备好采取行动"已经实例化的同一类对象的数组。

Vba在突出显示"预算"时给出了这个语法错误用蓝色:

  

编译错误:预期:子或函数或属性

是否允许在VBA类中包含静态数组?如果是,那么我该如何实施呢? 感谢。

2 个答案:

答案 0 :(得分:1)

帮助很明确。必须在程序级别声明静态。

我认为你只需要一个模块级变量。使用Class Initialise函数填充它。

如果Max_Budget是变量,它将无效。如果它是一个Const它会。声明变量时没有进行数学或表达式评估。

答案 1 :(得分:1)

我将它用于我的VBA脚本:

 Const AVALUES = "1:10:5" 
Public A(2) As Integer 

Public Sub MyMacro() 
    Dim vntTemp As Variant 
    Dim intIndex As Integer 
    vntTemp = Split(AVALUES, ":") 

    For intIndex = 0 To 2 
        A(intIndex) = vntTemp(intIndex) 
    Next 

    Debug.Print A(0) 
    Debug.Print A(1) 
    Debug.Print A(2) 
End Sub