For文 VBAで自動化 VBAテクニック集 VBA一覧 文法・構文

【VBA】繰り返し処理の回数を指定して実行する方法と活用例

Excel VBA で処理を自動化する際、同じ操作を何回も繰り返す「繰り返し処理(ループ)」は重要な構文です。
特に、回数を明確に指定して繰り返す処理 は、行や列に対して規則的にデータを操作したいときなどに役立ちます。

本記事では、繰り返し処理の回数を指定する方法 と、実務で使える活用例 をわかりやすく解説します。

回数指定の繰り返しは For...Next 構文を使う

VBA で 繰り返し回数を明確に指定したい場合 は、For...Next ループを使います。

✅ 基本構文

Dim i As Integer

For i = 開始値 To 終了値

' ここに繰り返したい処理を書く

Next i

📌 i はカウンター(回数カウント用の変数)として使用されます。

【VBA】For文:空白行まで繰り返す処理方法

回数指定でセルに連番を入力する例

Sub InsertNumbers()

Dim i As Integer
For i = 1 To 10

Cells(i, 1).Value = i

Next i

End Sub

📌 A列の1〜10行目に、1〜10の数字が自動入力されます。

【VBA】For-Nextループが上手く動作しない原因と対応策

回数を変数で指定する方法

回数を変数にすれば、ユーザー入力や他のセルの値に応じて柔軟に繰り返し回数を変更できます。

Sub LoopByVariable()

Dim i As Integer
Dim countNum As Integer

countNum = Range("B1").Value ' B1の値を回数とする

For i = 1 To countNum

Cells(i, 1).Value = "行番号:" & i

Next i

End Sub

📌 セルの値に応じて、繰り返し処理の回数を調整!

回数を逆順に指定する(カウントダウン)

Sub CountdownLoop()

Dim i As Integer
For i = 10 To 1 Step -1

Cells(11 - i, 2).Value = "残り:" & i

Next i

End Sub

📌 Step -1 を指定することで、10 から 1 へ減らしながらループします。

【VBA】for nextで2ずつ増やす処理方法

二重ループで回数を組み合わせる

Sub DoubleLoop()

Dim i As Integer, j As Integer
For i = 1 To 3

For j = 1 To 5

Cells(i, j).Value = i * j

Next j

Next i

End Sub

📌 3行×5列の範囲に掛け算の結果を自動入力!
📌 外側ループと内側ループで処理を組み合わせることができます。

【VBA】For文:二重ループから抜ける方法

条件付きでループを途中で止める(Exit For)

Sub LoopWithExit()

Dim i As Integer
For i = 1 To 100

If Cells(i, 1).Value = "" Then

Exit For ' 空白セルが見つかったらループ終了

End If
Cells(i, 2).Value = "データあり"

Next i

End Sub

📌 「空白が出るまで繰り返す」というような柔軟な使い方も可能です。

【VBA】Exit Forの入れ子(ネスト)する方法:For文

・他のループ構文との違い

構文特徴
For...Next回数が明確な繰り返しに最適
Do While...Loop条件が成り立つ限り繰り返す(回数は不明)
Do Until...Loop条件が成立するまで繰り返す
For Each...Next範囲やオブジェクトを順番に処理

📌 回数指定なら For...Next が基本!
📌 終了条件で制御したいなら Do WhileDo Until が便利。

・よくあるミスと注意点

ミス例原因と対策
Next を忘れるFor には必ず Next が必要
回数が 0 のとき無限ループになる終了値が開始値より小さいときは Step -1 を忘れずに
セル操作が間違っているCells(行, 列) の指定ミスに注意

・まとめ

項目内容
基本構文For i = 1 To 10 ... Next i
柔軟な繰り返し変数やセルの値を使って回数を指定できる
カウントダウンStep -1 を使えば逆順に繰り返し可能
多次元処理二重ループで行列操作もできる
処理の中断Exit For で条件による途中終了が可能

 

    -For文, VBAで自動化, VBAテクニック集, VBA一覧, 文法・構文