MENU

【初心者向け】VBAの繰り返し処理まとめ:For文・For Each・Do Whileの使い分けと基本構文

この記事で解決できる3つの疑問

A子さん

同じ処理を何度も手作業でやっていてうんざりしている…
「繰り返し処理」の種類がいくつもあって混乱している…
それぞれの違いと使い分け方をサクッと知りたい!

結論:VBAには3種類の繰り返し処理がある、それぞれの得意分野で使い分けよう!

種類特徴使いどころ
For~Next回数が決まっている繰り返しに強いA1~A10に同じ値を入れるなど
For Each範囲やコレクション(セル・シート等)の繰り返しに強い特定の範囲に同じ処理をする場合
Do While / Do Until条件が満たされる(or 満たされない)限り続ける終了条件が「途中で決まる」場合
目次

For~Next:定回数の繰り返しに最適

Dim i As Integer
For i = 1 To 10
    Cells(i, 1).Value = "OK"
Next i

処理回数が決まっているときに使うのが基本。

Stepを使えば増減幅も自由自在。

📎 詳細記事:【初心者向け】Excel VBAでFor文を使いこなす!

For Each:オブジェクト(セルなど)の集合を1つずつ処理

Dim cell As Range
For Each cell In Range("A1:A10")
    cell.Value = "チェック済"
Next cell

範囲やワークシート、ブックなど「まとまったもの」に最適。

Forとの違いはインデックス(iなど)を使わない点

Do While / Do Until:条件が変わるまで繰り返す

Dim i As Integer
i = 1
Do While Cells(i, 1).Value <> ""
    i = i + 1
Loop

条件が「いつ終わるかわからない」処理に向いている。

無限ループに注意(条件が変わらないとずっと動き続けます)

まとめ:迷ったらこの使い分け!

  • 回数が決まってる → For
  • 範囲・集合を1個ずつ → For Each
  • 途中で終わる条件 → Do While / Do Until

まずは「For文」から始めて、慣れてきたら「For Each」や「Do~Loop」で処理の幅を広げましょう!

関連記事リンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次