読むのにかかる時間: 1未満

For文を使って繰り返し処理をしてみよう

VBAでExcelの作業を自動化していると、「同じ処理を何回も繰り返したい」という場面がよくあります。

そんなときに便利なのが For文 です。

For文を使うと、指定した回数だけ処理を繰り返したり、カウンターの値を1つずつ変えながら同じ処理を実行したりできます。

この記事では、VBA初心者の方に向けて、For文の基本的な書き方と、実際に繰り返し処理を行う方法をサンプルコードを使って分かりやすく解説します。

まずはFor文の基本を覚えて、VBAで繰り返し処理を自動化する第一歩を踏み出しましょう。

マクロを動かすための重要なお願い

ダウンロードしたファイルは、通常のExcel形式(.xlsx)になっています。
そのままマクロを書いて保存すると、せっかく書いたコードがすべて消えてしまいます!

💡練習用ファイルを使う前の準備

まずは5行のデータを繰り返し計算してみよう

まずは、A列とB列の数値を足して、C列に合計を入力する処理をFor文で繰り返してみましょう。
For文を使うことで、同じ処理を1行ずつ自動で実行できます。

5行のデータを繰り返し計算するコピペコード

Sub Repeat()
    Dim i As Long
    
    For i = 2 To 6
        Cells(i, 3) = Cells(i, 1) + Cells(i, 2)
    Next i
        
End Sub

コードの解説

では、上から順番にコードを見ていきましょう。
このコードでは、A列とB列の数値を足して、C列に結果を入力する処理をFor文で繰り返しています。

コードの主な役割は次のとおりです。

コードの主な役割
  • Dim i As Long:繰り返し処理に使う変数を用意する
  • For i = 2 To 6:2行目から6行目まで繰り返す
  • Cells(i, 3) = Cells(i, 1) + Cells(i, 2):A列とB列を足してC列に結果を入力する
  • Next i:次の行へ進み、繰り返し処理を続ける

では、それぞれのコードを詳しく見ていきましょう。
まずは、

Dim i As Long

で、繰り返し処理に使う変数「i」を用意しています。

今回は 「i」 に行番号を入れて、処理する行を順番に切り替えていきます。
続いて、

For i = 2 To 6

で、For文による繰り返し処理を開始します。

ここでは、変数 i に「2」から「6」までの数字を順番に入れながら、同じ処理を繰り返します。
つまり、最初は i が「2」、次に「3」、その次に「4」というように、1ずつ数字が増えていきます。
次のコードが、実際に繰り返し行う処理です。

Cells(i, 3) = Cells(i, 1) + Cells(i, 2)

今回のコードでは、

  • Cells(i, 1) → A列
  • Cells(i, 2) → B列
  • Cells(i, 3) → C列

を表しています。
例えば、i が「2」のときは、

Cells(2, 3) = Cells(2, 1) + Cells(2, 2)

となるため、A2セルとB2セルの数値を足して、C2セルに結果を入力します。
次に i が「3」になると、

Cells(3, 3) = Cells(3, 1) + Cells(3, 2)

となり、A3セルとB3セルの数値を足して、C3セルに結果を入力します。

このように、i の値が1ずつ増えることで、処理する行も2行目、3行目、4行目……と順番に移動していきます。
最後の、

Next i

で、1回分の処理が終わったことをFor文に伝えます。すると「i」の値が1つ増えて、次の行の処理へ進みます。

今回のコードでは、i が「2」から「6」まで変化するため、2行目から6行目まで、合計5回の処理が繰り返されます。
処理の流れをまとめると、次のようになります。

  • i = 2 → A2+B2 → C2
  • i = 3 → A3+B3 → C3
  • i = 4 → A4+B4 → C4
  • i = 5 → A5+B5 → C5
  • i = 6 → A6+B6 → C6

このように、For文を使うと、同じ処理を繰り返しながら、行番号を1つずつ変えて処理することができます。

まとめ

今回は、Excel VBAのFor文の基本的な使い方についてご紹介しました。

For文を使うと、同じ処理を繰り返しながら、変数の値を1つずつ変えて処理することができます。
今回のコードでは「i」の値を2から6まで順番に変えながら、A列とB列の数値を足して、C列に結果を入力しました。

今回覚えておきたいポイントは、次の3つです。

ポイント
  • For i = 2 To 6:iの値を2から6まで変えながら繰り返す
  • Cells(i, 3) = Cells(i, 1) + Cells(i, 2):A列とB列を足してC列に結果を入力する
  • Next i:iの値を1つ増やして、次の処理へ進む

For文は、VBAで繰り返し処理を行うときに使う基本的な構文です。

まずは今回のサンプルコードを実際に動かして、i の値が変わることで処理する行も変わっていくことを確認してみてくださいね。

次回は、For文とは少し違った繰り返し処理ができるFor Each文についてご紹介します。