1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

【VBA入門】exitでfor文の中断の仕方

Pocket

For文の繰り返し処理を中断する方法についてご説明します。
For文は何千何万回という処理を自動的に繰り返し実行する事ができますが、
連続して行う処理が重い場合や繰り返す回数が多い場合は処理時間が長くなってしまいがちです。
繰り返し処理を行う必要がなくなったらループを抜け、余分な処理を行わないようにしましょう。

Exit Forを使用したFor文の構文

For文を中断する方法はとてもシンプルで、処理を終了したい箇所に『Exit For』と記述するだけです。
上の例では処理Aを行った後にExit Forでループを抜けているため処理Bは行われず続けてループの外の処理Cが実行されます。
それでは、実際にExit Forを使用したコードを実行してみましょう。

Exit Forでループを抜ける
<コード>

<実行例>

例ではループ処理の始めにA列(サイズ)のチェックを行い、
Sではないセルに到達したら合計金額の合算を終了しています。
このようにExit ForはIf文を組み合わせて使用するパターンが一般的です。
また、Exit Forを1つのループ内に複数記述することもできます。

For文がネストしている場合
ループ処理を多重で行いたい場合、For文をネストさせることが可能です。
このようなFor文をExit Forで抜けた場合、どのような動作になるか確認してみましょう。

<コード>

<実行例>

変数jによりカウントされている内側のループは作業対象が数値ではなくなった時点でExit Forにより集計を終了しています。
しかし、iによりカウントされている外側のループ処理は継続して実行されていることが分かります。
つまり、For文がネストしている場合はExit Forが囲まれている部分のループ処理を中断するということになります。

おわりに

Exit Forを使用するとFor文のループから抜けることができ、不要な繰り返し処理を中断することができます。
しかし、For文がネストしている場合はやはりコードが複雑な動きをすることになりますので、
コメントなどを活用して明確に記述するようにしましょう。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

おすすめスクール

システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ システムアーキテクチュアナレッジでは、ITスクールとしては珍しく正規雇用かつ現役のエンジニアが講師を務めています。「責任を持ったIT教育」をテーマに、未経験者をプロフェッショナルに育てます。
ページ上部へ戻る