如何声明数组的数组?

Cor*_*ier 0 arrays vb6 excel vba

我已经多次用谷歌搜索这个问题,但找不到有效的东西。
我想声明一个未指定长度的数组(arrArr)。实际上,我使用 Excel:如果工作表存在,则获取其数组并将其存储在数组的数组中。我已经像这样声明了这个 arrArr ,程序基本上是这样工作的:

dim arrArr as Variant
if sheetIsFound then
    sheetsFound = sheetsFound + 1
    arrArr(sheetsFound) = arrayOfTheSheet
end if
Run Code Online (Sandbox Code Playgroud)

但它不起作用:调试说数组是空的。我的逻辑出了什么问题?

谢谢

bug*_*sle 5

当您说 dim arrArr() 时,数组没有界限。您必须将其重新调整为您想要的数字。如果你想保留现有的项目,你需要preserve关键字。您可以添加监视并逐步执行代码以查看每个步骤中发生的情况。

尝试这个:

Dim arrArr() As Variant
ReDim arrArr(0) 'make an array with 1 item
If sheetIsFound Then
    sheetsFound = sheetsFound + 1
    ReDim Preserve arrArr(0 To (UBound(a) + 1)) 'add an index to the array
    arrArr(UBound(a)) = arrayOfTheSheet ' add the array to the new index in arrArr
End If
Run Code Online (Sandbox Code Playgroud)

要访问数组,请使用语法 arrArr(0)、arrArr(1) 等。

如果您需要更多帮助,此页面有一些示例:http://www.brainbell.com/tutors/Visual_Basic/Arrays.htm