VBAの手法のひとつにファンクションプロシージャというのがあります。
説明は難しいので、興味のある方は自分で調べてもらうとして、ファンクションプロシージャを書くたびに不思議に思うことがあります。
プロシージャがSubとFunctionを行ったり来たりするので、無限ループになるんじゃないかと思いつつも、サンプルコードを書写して実行してみると無限ループにならずにサンプル通りの動作をするのです。
自分はあまりファンクションプロシージャとかプロシージャの呼び出しに慣れてないので、慣れてしまえば不思議に感じることもなくなると思うのですが。。。
 VBAの世界は本当に奥が深いです。