【VBA】Exitステートメントの使用方法【参考コード有り】

Exitステートメントは”ループを抜けたり、プロシージャーを終了させる”ときに記述します。

そして、ループ内の任意の場所に記述できるので、柔軟な制御ができたりします。

スポンサーリンク



Exitステートメントの種類

Exitステートメントには5種類あります。

種類 処理内容
Exit For For~Next・For Each~Nextによるループを終了する
Exit Do Do~Loopによるループを終了する
Exit Function Function プロシージャの処理を終了する
Exit Property Property プロシージャの処理を終了する
Exit Sub Sub プロシージャの処理を終了する

 

Exitステートメントの参考コード

プロシージャーを終了させる

 

上のコードでは実行時のデバッグされた内容から、Exitステートメントがどのように動くかの確認をとれるようにしています。

そして、その処理の流れは下のようになっていることが分かります。

1.イミディエイトウィンドウで”Call前です”が出力される。

2.Callで「SampleExit」Sub プロシージャを呼び出す。

3.「SampleExit」内の”Exit前です”がイミディエイトウィンドウに出力される。

4.Exitステートメントで「SampleExit」Sub プロシージャを終了させ、呼び出し元の「Sample1」に戻る。

5.イミディエイトウィンドウで”Call後です”が出力される。

 

Forループを終了させる

 

上のコードはデバッグされた内容から、Ifで条件を設け、Forのループが条件通りに抜けるかを確認します。

コードのざっくりとした説明は下の通りです。

処理の流れ(〇行目)

5→6→7→10→11→6→7→10→11→6→7→10→11→8→9→12

コード解説

5行目:10回繰り返すように設定している。

6行目:「 i が3以下(True)の場合」に7行目の処理を行う。

7行目:「i+回目です」をイミディエイトウィンドウに出力する。

8行目:「 i が3を超えている(False)場合」に9行目の処理を行う。

9行目:ExitステートメントでForループを終了する。

 

スポンサーリンク

コメント