そうだよ データ互換性としては OLE で使う Variantと同じものだよ
色んな型を渡せるという意味だけなら便利だよね。

でもVBの場合は 、 変数の定義なしに使うとVariantになるし
  1+"3" みたいに書けるんだ。

勝手に変換するんだよね。 こりゃ判り易いと思うのは最初の一瞬だけで
少し慣れるとワケワカメ