Option
Explicit
Sub
TestIt()
Dim
Arr1()
Dim
Arr2(1
To
10)
Dim
arr3()
As
Double
Call
MsgBox(ArrIs(Arr1), vbInformation,
"Arr1"
)
Call
MsgBox(ArrIs(Arr2), vbInformation,
"Arr2"
)
Erase
Arr2
Call
MsgBox(ArrIs(Arr2), vbInformation,
"Arr2"
)
Call
MsgBox(ArrIs(arr3), vbInformation,
"Arr3"
)
ReDim
arr3(2, 2)
Call
MsgBox(ArrIs(arr3), vbInformation,
"Arr3"
)
End
Sub
Private
Function
ArrIs(Arr
As
Variant
)
As
Variant
ArrIs =
"unallocated"
On
Error
Resume
Next
If
LBound(Arr) > UBound(Arr)
Then
Exit
Function
On
Error
GoTo
0
Err.Clear
On
Error
Resume
Next
ArrIs = UBound(Arr)
On
Error
GoTo
0
If
Err.Number = 0
Then
ArrIs =
"allocated"
End
Function