Excel VBAのFor Each文のサンプル

ExcelのVBAのFor Each文のサンプルです。
For Each文は繰り返し処理を行うことができます。

目次

For Each文

For  Each  変数  In  コレクションや配列
  繰り返される箇所
Next

セルに対して範囲で入力する

セルに対して範囲で入力するサンプルです。

Sub test1()
    Dim r1 As Range
    
    For Each r1 In Range("B2:C5")
        r1.Value = "1"
    Next

End Sub

4行目は、コレクションとしてセルの範囲を指定しています。
エクセルのシートのB2からC5まで処理が行われます。

結果

上記のコードを実行した結果です。
B2からC5まで1がセットされます。

ワークシートを指定しセルに対して範囲で入力する

ワークシートを指定しセルに対して範囲で入力するサンプルです。

Sub test1()
    Dim w1 As Worksheet
    
    For Each w1 In Worksheets
        If w1.Name = "Sheet2" Then
            w1.Range("B2:C5").Value = "1"
        End If
    Next

End Sub

4行目は、コレクションとしてワークシートを指定しています。
ワークシートの数だけループ処理が行われます。
5行目は、ワークシート名がSheet2のときのみtrueになります。
6行目は、指定したセルの範囲に1をセットしています。

結果

上記のコードを実行した結果です。
Sheet2のB2からC5まで1がセットされます。

配列の値を取得する

配列の値を取得するサンプルです。

Sub test1()

    Dim ar1(2) As Integer
    ar1(0) = 1
    ar1(1) = 2
    ar1(2) = 3
    
    For Each a In ar1
            MsgBox a '1 2 3
    Next
    
End Sub

3~6行目は、配列をセットしています。
8行目は、配列の値の数分処理を繰り返します。

関連の記事

Excel VBAのIF文のサンプル
Excel VBAのSelect Case文のサンプル
Excel VBAのFor文のサンプル
Excel VBAのDo Loop文のサンプル
Excel VBAの変数の宣言を強制する(Option Explicit)
Excel VBAのデータ型
Excel VBA セルに値を設定/取得するサンプル
Excel VBA セルの値をテキストに出力するサンプル

△上に戻る