The following code returns Variant() as the Array type of Range("a1:a100").

Sub DetermineArrayType()
Dim v
v = Range("a1:e100").value
Msgbox Typename(v)
End Sub

And yet the next code does not recognize the same Range as an array as an error is returned on v = Range("a1:e100").value.

Sub DetermineArrayType2()
Dim v(1 To 100, 1 to 5)
v = Range("a1:e100").value
Msgbox Typename(v)
End Sub

Any explanation?