可变大小的公共数组variables

我想在Excel VBA中的全局数组variables的数组大小取决于第二个全局variables。

我正在尝试这样的事情

Public int1 As Integer Sub foo() int1 = '##read from ini file Public varArray(1 To int1) As Variant For i = 1 To int1 varArray(i)= '##read from ini file Next i Call SomeProcedure '##in another module where varArray is used End Sub 

现在显然这是行不通的,因为全局公式必须在sub之外进行声明,而且当我给它们一个范围的时候,arrays也需要一个常数。 有没有什么办法可以通过声明来实现呢?

 Public varArray() As Integer 

然后再给它一些元素? 似乎没有让我这样做,没有别的我试过…

正如你所提到的,数组必须在sub之外声明为全局的。

要确定数组的大小,请在确定数组的大小后,使用另一个函数中的ReDim命令。

 Dim varArray() As Variant Public Sub Foo() 'Determine size of array 'For example, let's say you determine you need 15 elements ArraySize = 15 'Your variable here, instead of 15 ReDim varArray(1 To ArraySize) 'Debug Print statement to confirm array dimensions Debug.Print LBound(varArray) & " - " & UBound(varArray) End Sub