EXCELのVBAで繰り返し処理する方法!重要な2構文を解説

EXCELのVBAを使って作業の自動化をしたいというと、要になるのは繰り返し(ループ)処理でしょう。

繰り返し処理をするための構文はいくつかあるのですが、重要なのはFor~文とDo While~文の2構文。

本記事では「VBAで繰り返し処理をするための2構文」について解説します。

1.VBAでFor~文を使って繰り返し処理する

こんにちは。エクセルマン・ブリーダーのしもむぎ(@re_znd13)です。

ではまずFor~文から見ていきましょう。

For~文というのは、繰り返し処理の回数が決まっているときに使いやすい特徴があります。

例えば、10回同じ操作を繰り返したいといった場合。

以下のようなVBAコードで繰り返し処理が可能です。

この例ではiという変数が1~10になるまでの繰り返しを行うようにしています。

処理の内容は、A列のi行目にiを入力するというもの。

Sub 繰り返し1()
Dim i As Long

For i = 1 To 10
    Cells(i, 1).Value = i
Next

End Sub

2.VBAでDo While~文を使って繰り返し処理をする

次にDo While~文を見てみましょう。

こちらの構文は、この条件が満たされている状態では繰り返し処理をしたい、という場合に使いやすい特徴があります。

例えば、A列のi行目に値が入っているかを見て、値が入っている間(=空欄でない間)は繰り返しを行うというような場合。

以下のようなVBAコードで繰り返し処理が可能です。

この例では、A列が空欄でないあいだはB列にi*2という計算値を入力するものになっています。

Do While~文を使う場合はiの初期値や、iをひとつ進めるi=i+1という記述が必要であることに注意しましょう。

Sub 繰り返し2()
Dim i As Long

i = 1

Do While Cells(i, 1).Value <> ""
    Cells(i, 2).Value = i * 2
    i = i + 1
Loop

End Sub

3.まとめ

本記事では「VBAで繰り返し処理をするための2構文」について解説しました。

多くの場合は、今回解説したFor~文、Do While~文で実現が可能なはずですよ。