制御フローステートメント: スクリプトの実行フローを制御するステートメントの一覧をご紹介します。
- Do…Loop: 条件が満たされるまで(または満たされなくなるまで)コードブロックを繰り返し実行します。
Do While...LoopまたはDo Until...Loopの形で使われ、条件がTrueまたはFalseになるまでループします。 - For Each…Next: コレクションまたは配列の各要素に対してコードブロックを実行します。コレクションの各要素を順に処理する場合に便利です。
- For…Next: 指定した回数だけコードブロックを繰り返し実行します。
Forステートメントの後にはカウンタ変数とループの開始と終了の値を指定します。 - If…Then…Else: 条件が
TrueかFalseかによって、実行するコードブロックを切り替えます。Ifの後に条件を指定し、Thenの後に条件がTrueの場合に実行するコード、Elseの後に条件がFalseの場合に実行するコードを記述します。 - Select Case: ある変数の値に基づいて、複数のコードブロックから一つを選択して実行します。
If...Then...Elseの連鎖よりも読みやすく、効率的なコードを書くことができます。 - While…Wend: 条件が
Trueの間、コードブロックを繰り返し実行します。Do While...Loopと同様の機能ですが、古いバージョンの VBA ではWhile...Wendが使われていました。 - With: 一つのオブジェクトに対する複数の操作を簡潔に書くためのステートメントです。
Withの後にオブジェクトを指定し、その後のコードブロックではそのオブジェクトに対する操作を直接記述できます。 - GoSub…Return: プログラム内の特定の位置(サブルーチン)へジャンプし、その後
Returnステートメントでジャンプ元に戻ります。これにより、コードの一部を何度も再利用することができます。 - GoTo: プログラム内の特定の位置へ無条件にジャンプします。ジャンプ先は通常、行ラベルまたは行番号で指定します。
- Exit:
For...Next、Do...Loop、While...Wend、Sub、Functionなどのブロックを中断して、その直後のステートメントから実行を再開します。 - End: VBAプログラムを完全に終了します。これはエラーハンドリングで致命的なエラーが発生した場合などに使用されます。
コメント