スクリプトの実行フローを制御するExcel VBAステートメントのリスト

制御フローステートメント: スクリプトの実行フローを制御するステートメントの一覧をご紹介します。

  • Do…Loop: 条件が満たされるまで(または満たされなくなるまで)コードブロックを繰り返し実行します。Do While...Loop または Do Until...Loop の形で使われ、条件が True または False になるまでループします。
  • For Each…Next: コレクションまたは配列の各要素に対してコードブロックを実行します。コレクションの各要素を順に処理する場合に便利です。
  • For…Next: 指定した回数だけコードブロックを繰り返し実行します。For ステートメントの後にはカウンタ変数とループの開始と終了の値を指定します。
  • If…Then…Else: 条件が TrueFalse かによって、実行するコードブロックを切り替えます。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...NextDo...LoopWhile...WendSubFunctionなどのブロックを中断して、その直後のステートメントから実行を再開します。
  • End: VBAプログラムを完全に終了します。これはエラーハンドリングで致命的なエラーが発生した場合などに使用されます。

コメント