我正在编写一个使用数组的代码,这些数组的维度取决于用户提供的值。该值取决于他/她正在使用的单元格数量,我使用此数字来执行for循环结构。 这是一个例子:
Sub Test()
Dim Row As Integer
Dim Myarray(1 To Row) As String
For 1 To Row
'Do whatever I need
Next linha
End Sub
当我尝试此操作时,会出现错误。有没有办法使用它?我在google上寻找任何线索,我发现了动态阵列。但它似乎不适合我的问题。
谢谢!
答案 0 :(得分:1)
将语法更改为(显然`LengthOfArray'应该包含数组大小的数字):
Sub Test()
Dim Row As Integer
Dim Myarray() As String
n = LengthOfArray
Redim MyArray(1 to LengthOfArray)
For linha = 1 To n
'Do whatever I need
Next linha
End Sub
答案 1 :(得分:0)
我会使用集合而不是数组,你可能想看看做redim保留。 (https://msdn.microsoft.com/en-us/library/w8k3cys2.aspx)
sub Test(row as range)
Dim my myCollection as new collection
myCollection.add row
For each Item in myCollection
'Do some stuff here...
Next 'Item
end Sub