大きくなるとずれる原因はズバリ「STR$関数の仕様」だと思うのですが、自分で試すと100万はまだ大丈夫でした……… もっと大きな値だったりしませんでしょうか? 何人かの方が提案されてるようにFORMAT$()で文字列→スプライト、が一番スマートぽいです。