VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

リンク元へ戻ります。 数学・算法・基本コード関係のメニュー
1.人に聞けないこんな事(主要プロパティについて)
2.条件判断・条件分け処理関係
3.繰り返し処理関係
4.プログラムの最適化(高速化)について
5.ちょっと便利な小技集
6.10進←→16進相互変換
7.ソート法色々
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.


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 繰り返し処理 連続処理 ループ処理



このページのトップへ移動します。