是否可以使用不同的变量命名数组变量?例如,如果我将变量“i”定义为一个整数,其值等于我用过它的列数:
Sub varNameTest
Dim i, j, As Integer
i = ActiveSheet.UsedRange.Columns.Count
...
是否有可能然后建立名为myArray1到i之类的“i”数组?可能是这样的:
For j = 1 to i
Dim (myArray & j())
Next i
虽然上面这个例子的语法不正确,但我只是想说明我正在尝试做什么。
编辑:所以更清楚一点,使用上面的例子,假设我在工作簿中有4张。变量i然后是4,我会有一些代码生成myArray1(),myArray2(),myArray3()和myArray4()。
答案 0 :(得分:1)
你可以创建一个数组数组(虽然你的问题有点不清楚......)
Sub MyArrays()
Dim arrays()
Dim arr
Dim i, j
i = 5 'e.g.
ReDim arrays(1 To i)
For j = 1 To i
arr = Array()
ReDim arr(1 To j)
arrays(j) = arr
Next j
'reference an array by its position in "arrays"
Debug.Print UBound(arrays(3))
End Sub
答案 1 :(得分:0)
是
Dim i(5) As Integer
在VBA中,您可以访问从i(0)
到i(5)
的元素。
根据您编辑的问题,答案是否定的。您必须在代码中明确定义每个变量。
另一种选择是编写编写代码的代码 - 一种代码生成方式。实际上,通过重复代码"模板",您可以编写非常长且复杂的代码。但我认为这不会对你的情况有所帮助。