我有一个名为 myArray 的全局数组。在这个数组中存储了从另一个文件中获取的信息。该过程处理存储在 myArray 中的数据,并且工作正常。
但是,当我第二次启动 procudre 时,我有一个测试 myArray 的条件: IsEmpty(myArray) 返回 false 所以显然它不是空的。因此,当我在即时窗口中键入:UBound(myArray) 时,我收到一条错误消息。所以它不是空的,但它没有任何值。此外,IsNull(myArray) 返回 false。
这使我的代码无法正常工作,因为它应该查看 myArray 是否为空,如果不是,则它会一一访问 myArray 的值。显然,这会导致第二次出现错误。
我在程序结束时厌倦了“Erase myArray”,这没有帮助。
有什么线索吗?
谢谢,
编辑:示例代码:
Global myArray As Variant
Sub tryMe()
For i = 0 To 10
If IsEmpty(myArray) Then
ReDim myArray(0)
myArray(0) = i
Else
tempVal = UBound(myArray)
ReDim Preserve myArray(tempVal + 1)
myArray(tempVal + 1) = i
End If
Next i
MsgBox UBound(myArray)
End Sub