Public Function IsAllocated(ByRef varArray As Variant) As Boolean
'/ Given a Variant:
'/ Check that it is an array
'/ Check that it has assigned Bounds in at least the first dimension
On Error GoTo CleanFail:
IsAllocated = IsArray(varArray) And Not IsError(LBound(varArray, 1)) And LBound(varArray, 1) <= UBound(varArray, 1)
On Error GoTo 0
CleanExit:
Exit Function
CleanFail:
On Error GoTo 0