Yep, and a very useful feature it is too. Gets you out of all sorts of holes. I think the official terminology is a 'variant that contains an array'.
For example,
Sub Test()
Dim myVar as Variant
myVar = FillMyVar()
End Sub
Function FillMyVar() as Variant
FillMyVar = Array(1,2,3,4)
End Function
actually works, which AFAIK can't be done with a normal array.
The useful function
will return true/false to keep you informed.
For example, if you use GetOpenFilename(), the result may or may not be a variant containing an array.
It's also how you move cells into/out of arrays in blocks:
Dim mySheetData as Variant
mySheetData = Sheets(1).Cells(1,1).Resize(100,100).Value
Sheets(2).Cells(8,10).Resize(Ubound(mySheetData,1),UBound(mySheetData,2)).Value = mySheetData
<excuse the VBA tag hiccup>
Note that you've probably seen some of this stuff before without realizing what it implied.