長いコード(500行以上)があって、可読性・メンテナンス性をあげるために、5つくらいのサブルーチンへの細分化を試みています。

つまり大元のSub Testの中を、
Test_Sub1、Test_Sub2、Test_Sub3、Test_Sub4、Test_Sub5くらいの5つの部分に分けるみたいな感じです。

しかしここで問題が。

Test_Sub1に分けても、大元のTestで宣言した変数がこのTest_Sub1の中でたくさん使われています。
改めてこのTest_Sub1内で変数を宣言すると
大元の変数とは全く関連のない新しい独立した変数とみなされますよね?
そうするとコードを分割して可読性・メンテナンス性を良くするのって不可能じゃないですか?

みなさんはこのへんはどうやってやってるんでしょうか?