我有一个名为myArray的全局数组。 在此数组中存储从另一个文件中获取的信息。 该过程处理存储在myArray中的数据,并且工作正常。
然而,当我第二次启动procudre时,我有一个测试myArray的条件: IsEmpty(myArray)返回false 所以它显然不是空的。所以当我输入即时窗口时: UBound(myArray),我收到一条错误消息。 所以它不是空的,但它没有任何价值。 此外,IsNull(myArray)返回false。
这使我的代码无法正常工作,因为它应该看看myArray是否为空,如果不是,那么它会逐个访问myArray的值。显然这会导致第二次出错。
我累了'在程序结束时擦除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