>>758
それは暗黙の型変換が行われるから。

変数の宣言をしたほうがいいのは以下のような場合にエラーにできるから。

public sub foo()
hensu = 1
Debug.Print hansu + 1
end sub

2が出力されることを期待しているが、この場合1が出力される。(変数名の打ち間違い)