1、定义一个全局变量或者模块变量TransformerDataArray,注意不能在过程中定义,否则会重定义而不能保存数值。
2、第一次调用ArrayUpperBound = UBound(TransformerDataArray, 2)时会发生错误,因为此时动态数组还未重定义,不能取得它的大小。故使用On Error Resume Next来检测错误,发生错误时重定义数组。
- Option Explicit
- Private TransformerDataArray() As Integer
- Sub test()
- Dim ArrayUpperBound As Integer
- On Error Resume Next
- ArrayUpperBound = UBound(TransformerDataArray, 2)
- If Err Then
- Err.Clear
- ReDim Preserve TransformerDataArray(5, 0)
- End If
- ReDim Preserve TransformerDataArray(5, ArrayUpperBound + 1)
- MsgBox UBound(TransformerDataArray, 2)
- End Sub
|