> Dim A,B As String
たしかVB6までだとAは型が省略されたと扱われ、VB.Net以降だとString型になるのだったと思います。
たとえVB6まででもVBにはVariant型という何でもありの型があり、変数宣言でこのように型を省略したときにもこの型が使われるので、気づきにくいようです。
Variant型のないABでは問題にならないと思いますが。
興味のある話題が出たので、VB6から入った人間からコメントさせていただきますと…
イグトランスさんの仰るとおり、VB6ではAは型が省略されたものとして扱われます。
しかし、正直バグの原因になりますよ(^^;
それにもかかわらず、(VBAを含めて)いい加減な本だったら平気で
Dim A,B As Long
のような書き方がされています(もちろん、AはVariantではLongになることを期待して書かれているのですが、VB6の仕様ではこれは間違いです)。
なお、ActiveBasicでは型省略はDouble型として扱われます。しかし、普通はDouble型変数を宣言するときも型省略などしないはずです(それより、Long型やString型で処理すべきところで型名を忘れてしまってハマることの方が多いです)。
例えば、
Dim A,B As String
ここで A="ActiveBasic" はアウトになります。AはDouble型だからです。
しかし、「省略したらDoubleになる」と知っている人がどれだけいるのかがそもそも疑問ですし、それを知らない人にとってはこれは難解な問題ということになってしまいます。
そのため、最初から型の省略をできないようにする、という手もありではないかと思いますが…。