可变大小的公共数组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