>>400
単一変数の a と、配列の a() は、同時には存在できないから

a =
の部分を実現するためには、配列 a()を破棄しなければならないが
 = a(0)
の部分を実現するためには、配列 a()を破棄することが出来ない

その不整合性によりエラーになる


Dim a, b
a = 1
a = Array(a)
b = a(0)
a = b
なら、配列 a()を破棄する前にa(0)の値を取得し
配列 a()を破棄出来る状態になってから、単一変数aへの代入を行うから
整合性が取れて、エラーにはならない