繰り返し処理のステートメント一覧
ステートメント | 内容 |
---|---|
For Next 【フォー ネクスト】 | 指定した回数処理を繰り返します。 |
For Each Next 【フォー イーチ ネクスト】 | ワークシートやセルなどの同じオブジェクトの 集まりであるコレクションの各要素に同じ処理を繰り返します。 |
Do While Loop 【ドゥ ホワイル ループ】 | 条件を満たす間処理を繰り返します。 |
Do Until Loop 【ドゥ アンチル ループ】 | 条件を満たさない間処理を繰り返します。 |
Do Loop While 【ドゥ ループ ホワイル】 | 1回処理した後に判断して条件を満たす間繰り返します。 |
Do Loop Until 【ドゥ ループアンチル】 | 1回処理した後に判断して条件を満たさない間繰り返します。 |
For Next 【フォーネクスト】ステートメント
指定した回数処理を繰り返すには、For Next 【フォー ネクスト】ステートメントを使用します。
カウンタ変数に代入する「初期値」から「最終値」まで処理を繰り返します。
Stepには、「加算値」を指定しますが、「加算値」が「1」の場合は省略します。
「初期値」が「最終値」より大きい値の場合はStepに負の値を指定します。
A1セルからA10セルに連番を代入するコードと解説
Sub フォーネクスト() Dim i As Integer For i = 1 To 10 Cells(i, 1).Value = i Next i End Sub
セルの行番号と、代入する値を兼ねる値を格納するカウンタ変数「i」を整数型(Integer)で宣言します。
3行目【For i = 1 To 10】
For【フォ-】ステートメントを使用して繰り返し処理の始まりです。カウンタ変数iに初期値1から最終値10の値を順次代入します。
4行目【Cells(i, 1).Value = i】
1列目(A列)のi行目のiの値を代入します。
For Next【フォ-ネクスト】ステートメントコード使用例リンク
「データの1行おきに任意の空白行を挿入する」
「セルの姓と名、都道府県と市町村を分割する」
「データ項目の境目に印刷改ページを挿入する」
「複数シートのデータを集計シートにまとめる」
「1行おきに色を塗る」
「空白を半角か全角に揃える」
「入力されたデータの表記を統一する」
「必要な項目列のデータのみ別シートに抽出する」
「指定した図形(シェイプ)を指定個数作成する」
「住所データをGoogleMapにリンクする方法」
「複数のシートのデータを固定長のテキスト形式で書き出す」
For Each Next【フォー イーチ ネクスト】ステートメント
ワークシートやセルなどの同じオブジェクトの集まりであるコレクションの各要素に同じ処理を繰り返すには、For Each Next【フォー イーチ ネクスト】ステートメントを使用します。
オブジェクト型変数を用意して、オブジェクト型変数にコレクション内の各オブジェクトを格納しながら、指定したオブジェクトの数だけ繰り返します。
A1セルからA10セルに連番を代入するコードと解説
Sub フォーイーチ() Dim セル As Range Dim i As Integer i = 1 For Each セル In Range("A1:A10") セル.Value = i i = i + 1 Next End Sub
繰り返すオブジェクトの範囲を格納する、オブジェクト型変数の「セル」をオブジェクト型(Range)で宣言します。
3行目【Dim i As Integer】
セルの行番号と代入する値を兼ねる値を、格納するカウンタ変数「i」を整数型(Integer)で宣言します。
4行目【i = 1】
カウンタ変数iに1を代入します。
5行目【For Each セル In Range(“A1:A10”)】
For Each【フォーイーチ】ステートメントで繰り返し処理の始まりです。オブジェクト変数「セル」に対象範囲のオブジェクトの集まりであるセルのコレクションからその構成要素の個々のセル(オブジェクト)を取り出して、オブジェクト変数「セル」に代入します。
6行目【セル.Value = i】
繰り返しの中でオブジェクト変数「セル」に代入されているセルにカウンタ変数「i」の値を代入します。
7行目【i = i + 1】
カウンタ変数iに1を加算します。
For Each Next【フォーイーチネクスト】ステートメントコード使用例リンク
Do While Loop【ドゥ ホワイル ループ】ステートメント
設定した条件式が満たされている(True)間、処理を繰り返すには、Do While Loop【ドゥ ホワイル ループ】ステートメントを使用します。
条件式で使用される比較演算子の一覧
演算子 | 内容 | 使用例 | 結果 |
---|---|---|---|
< | より小さい | 5<2 | False |
<= | 以下 | 5<=2 | False |
> | より大きい | 5>2 | True |
>= | 以上 | 5>=2 | True |
= | 等しい | 5=2 | False |
<> | 等しくない | 5<>2 | True |
A1セル~A10セルに連番を代入するコードと解説
Sub ホワイル() Dim i As Integer i = 1 Do While i < 11 Cells(i, 1) = i i = i + 1 Loop End Sub
繰り返した回数と行番号を兼ねる、カウンタ変数の「i」を整数型(Integer)で宣言します。
3行目【i = 1】
カウンタ変数のiに1を代入します。ここでiに1を代入しないと5行目の「Cells(i, 1).Value = i」で、変数iに値がないためエラーになります。
4行目【Do While i < 11】
Do While【ドゥホワイル】ステートメントの条件式に「i < 11」つまり、変数iが11より小さい間繰り返すを定義します。
5行目【Cells(i, 1).Value = i】
1列目(A列)のセルのi行目に、カウンタ変数iに格納されている値を代入します。
6行目【i = i + 1】
カウンタ変数iに1を加算します。
Do Until Loop【ドゥ アンチル ループ】ステートメント
設定した条件を満たされていない(False)間、処理を繰り返すには、Do Until Loop【ドゥ アンチル ループ】ステートメントを使用します。
A1セル~A10セルに連番を代入するコードと解説
Sub アンチル() Dim i As Integer i = 1 Do Until i = 11 Cells(i, 1) = i i = i + 1 Loop End Sub
Do Until【ドゥアンチル】ステートメントの条件式に、「i = 11」つまり、変数iが11になるまでの間繰り返すを定義します。
Do Loop While 【ドゥ ループ ホワイル】ステートメント
Do Loop Until 【ドゥ ループアンチル】ステートメント
Do While LoopステートメントやDo Until Loopステートメントは、最初に条件判断をするため、最初の値と条件によっては
処理が一度も実行されない場合があります。少なくとも一度は処理をしたい場合は、最後に条件判断をする
Do Loop While 【ドゥ ループ ホワイル】ステートメントか、Do Loop Until 【ドゥ ループアンチル】ステートメントを使用します。
A1セルからA10セルに連番を代入するコード例
Sub ループホワイル() Dim i As Integer i = 1 Do Cells(i, 1) = i i = i + 1 Loop While i < 11 End Sub
Sub ループアンチル() Dim i As Integer i = 1 Do Cells(i, 1) = i i = i + 1 Loop Until i = 11 End Sub
以上で条件分岐についての解説を終了します。
ありがとうございました。