正確に言うと値の代入もLetステートメントで行うのがBasic系言語の本来の姿
それを規約上で略記できるようにしているにすぎない
逆にSetステートメントは言語設計上、変数用に確保されたスタックメモリに格納される値がヒープへの参照ポインタであることを示す役割を持っているものと思われる
Variant型変数にオブジェクトを代入するときもこのSetがあるおかげで、スタックの値を参照アドレスとして解釈できるようになっているはず