Excel VBAで処理の繰り返しを行う方法をご紹介
→ While, Until, For文を使用する
- Excel VBAで繰り返し処理を実施したい方
- VBA初心者の方
条件を満たす場合に処理を繰り返す【While文】
条件を満たす場合に処理を繰り返したい場合はWhile文を使用します。
構文は下記の通りです。
Do While 条件式
繰り返し実行する処理
Loop
While文を用いたソースコードの例は下記の通りです。
<サンプルコード>
Sub sample()
'繰り返し参照用の変数を定義
Dim i As Long
i = 0
'0~4回Print処理を繰り返す
Do While i < 5
Debug.Print i & "回目の繰り返し"
i = i + 1
Loop
End Sub
<マクロ実行結果>

条件を満さない場合に処理を繰り返す【Until文】
条件を満さない場合に処理を繰り返したい場合はUntil文を使用します。
構文は下記の通りです。
Do Until 条件式
繰り返し実行する処理
Loop
Until文を用いたソースコードの例は下記の通りです。
<サンプルコード>
Sub sample()
'繰り返し参照用の変数を定義
Dim i As Long
i = 1
'C列のセルに値が空白でない場合はB列に繰り返し回数を入力する
Do Until Cells(i, "C").Value = ""
Cells(i, "B").Value = i
i = i + 1
Loop
End Sub
<マクロ実行結果>

指定した回数だけ処理を繰り返す【For文】
条件を満たす場合に処理を繰り返したい場合はFor文を使用します。
構文は下記の通りです。
For カウンタ変数 = 開始値 To 終了値 (ステップ加算値)
繰り返し実行する処理
Next (カウンタ変数)
※加算値が1の場合はステップ加算値は省略可能
※Nextの後のカウンタ変数は省略可能
For文を用いたソースコードの例は下記の通りです。
<サンプルコード>
Sub sample()
'繰り返し参照用の変数を定義
Dim i As Long
'0~4回Print処理を繰り返す
For i = 0 To 4
Debug.Print i & "回目の繰り返し"
Next i
End Sub
<マクロ実行結果>

少なくとも1回は繰り返し処理を実行する【Do While文】
条件を満たす場合に処理を繰り返したい場合はDo While文を使用します。
構文は下記の通りです。
Do
繰り返し実行する処理
While 条件式
※Do Until文も同様の構文で実現可能
Do While文を用いたソースコードの例は下記の通りです。
<サンプルコード>
Sub sample()
'繰り返し参照用の変数を定義
Dim i As Long
i = 0
'0~4回Print処理を繰り返す
Do
Debug.Print i & "回目の繰り返し"
i = i + 1
Loop While i < 5
End Sub
<マクロ実行結果>

以上が処理の繰り返し方法となります。
ここまでご覧いただきありがとうございました。
初心者におすすめの書籍はこちら
VBAに詳しくなりたい方におすすめの書籍はこちら