恭喜猜对了 ^_^不过可以这样: Private Sub Form_Load() Dim a() As Byte ReDim a(1) Debug.Print GetUBound(a) Erase a Debug.Print GetUBound(a) End SubFunction GetUBound(v) On Error GoTo SkipErr GetUBound = UBound(v) Exit Function SkipErr: Err.Clear GetUBound = -1 End Function
或者是我的用法有错?
Dim a() As Byte
ReDim a(0)
Erase a
Debug.Print a(0) 'a()已经被销毁了,这句不能执行。
Dim a() As String
ReDim a(0)
a(0) = "AAAAAA"
Debug.Print a(0)
Erase a
Debug.Print a(0)
End Sub
Private Sub Form_Load()
Dim a() As Byte
ReDim a(1)
Debug.Print GetUBound(a)
Erase a
Debug.Print GetUBound(a)
End SubFunction GetUBound(v)
On Error GoTo SkipErr
GetUBound = UBound(v)
Exit Function
SkipErr:
Err.Clear
GetUBound = -1
End Function