在 VBA 中,我将值存储到一个动态数组中,该数组PidArr在一个名为Unlock. 数组开始如下:
Dim PidArr() As String
ReDim PidArr(1 To 2)
插入的数据如下所示:
...within a loop
PidArr(Count) = LineStr 'this is a string containing the data.
Logging "Inserted " & PidArr(Count) 'this correctly shows the data has inserted.
ReDim PidArr(1 To Count + 1) 'resize the array more
在将值正确存储到该数组中后,稍后会调用另一个函数(Advance)(并将PidArr数组传递给它)
Advance listRecords:=PidArr
该函数如下所示:
Sub Advance(ByRef listRecords() As String)
在Advance我可以打印类似的东西:
UBound(listRecords)
它返回一个 6。
但是当我尝试打印出诸如listRecords(1)or之类的值时listRecords(2),什么都没有打印出来(空白)。
为什么是这样?它不会崩溃,因此它根本不是数组中的无效范围。