3.繰り返し処理関係 |
1.指定した回数だけ処理を繰り返す For〜Next 2.指定した条件に従い処理を繰り返す Do〜Loop 3.指定した条件が満たされている間だけ処理を繰り返す While〜Wend 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Option :[Option Explicit] 参照設定:追加なし 使用 API:なし その他 : : |
1.指定した回数だけ処理を繰り返す For〜Next |
構文 For...Next ステートメント 指定した回数だけ、一連のステートメントを繰り返すフロー制御ステートメントです。 For カウンター用変数 = 開始する数 To 終了する数 Step カウンター増減数 繰り返す処理を記入 Next カウンター用変数 使用例 Private Sub Command1_Click() For i = 100 To 1 Step -1 Debug.Print i If i = 50 Then Exit For Next i End Sub 強制的にループから抜け出たい時は Exit For を使う 同様のステートメントに For Each...Next ステートメント があります。 こちらは、配列やコレクションの各要素に対して、一連のステートメントを繰り返し実行するフロー制御ステートメントです。 使用例 For Each ObjSht In xlBook.Worksheets If ObjSht.Name = TgtShtName Then RetShtName = ObjSht.Name Exit For End If Next |
2.指定した条件に従い処理を繰り返す Do〜Loop |
構文 Do...Loop ステートメント Do While 条件式 繰り返す処理 Loop または Do 繰り返す処理 Loop While 条件式 使用例 次の例は、内側の Do...Loop ステートメントでは、ループを 10 回繰り返すとフラグの値を偽 (False) に設定し、Exit Do ステートメントを使ってループから抜けます。 外側のループは、フラグの値を調べてループから抜けます。 Do ' 外側のループ。 Do While Counter < 20 ' 内側のループ。 Counter = Counter + 1 ' カウンターを増やします。 If Counter = 10 Then ' 条件が True であれば Check = False ' フラグの値を False に設定します。 Exit Do ' 内側のループから抜けます。 End If Loop Loop Until Check = False ' 外側のループから抜けます。 Do Until文は条件式が偽(False)である限りループ内の処理を繰り返します。 Do...Loop 構造には、このほかに 2 とおりの形式があります。それぞれ前の 2 つの形式に似ていますが、 condition が真 (True) の間ではなく偽 (False) である間、ループが繰り返し実行されます。 ループを 0 回以上実行(※ 実行されない場合がある) Do Until condition statements Loop ループを少なくとも 1 回は実行 Do statements Loop Until condition 指定した処理を何回繰り返せばよいか予め、判っている時はFor〜Next文を使うのが基本です。 前もって、処理の回数が判らない時(検索処理等)はDo〜Loop文を使って下さい。 |
3.指定した条件が満たされている間だけ処理を繰り返す While〜Wend |
構文 While...Wend ステートメント While 条件式 繰り返す処理を記入 Wend 使用例 Dim Counter Counter = 0 ' 変数を初期化します。 While Counter < 20 ' Counter の値を評価します。 Counter = Counter + 1 ' Counter の値を増やします。 Wend ' Counter > 19 であれば、While ループを終了します。 Debug.Print Counter ' デバッグウィンドウに 20 を表示します Do〜Loopは条件が満たされない間だけ、満たされている間の処理はWhileを使います。 使用条件により For 〜 Next Do 〜 Loop While 〜 Wend を使い分けて下さい。 又繰り返し処理から抜ける場合 Exit Do 'Do Loop 文から抜ける場合 Exit For 'For Next 文から抜ける場合 Exit Function 'ユーザー関数の中から抜ける場合 Exit Sub 'プロシージャの中から抜ける場合 などがあります。 |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
フロー制御ステートメント 条件式 条件分け 条件分岐 IF文 if then else select case 複数条件 ループ構造 1 行または複数行のコードを繰り返し実行 For Next Do Loop While Wendp 繰り返し処理 連続処理 ループ処理 |