Excel VBA For Eachでコレクションや配列などの反復で処理する方法

 

Excel VBAの For Each文は、コレクションや配列などの反復可能なオブジェクト内の各要素に対して繰り返し処理を行うために使用します。具体的な使い方や、注意点やサンプルコードを紹介します。

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

Excel VBA For Eachを利用

以下のようなシーンで利用されます。

・コレクションや配列などの要素に対して、順番にアクセスして処理を行いたい場合に使用します。

・ワークシート上のセル範囲やデータベースのレコードなど、複数の要素を含むデータに対して操作を行う場合に便利です。

 

ポイント

For Each文は、コレクションや配列などの反復可能なオブジェクトにのみ使用できます。

 

Excel VBA For Eachサンプルコード

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

Option Explicit

Sub ForEachLoop()
    Dim element As Variant
    Dim collection As collection
    
    ' コレクションを作成
    Set collection = New collection
    
    ' コレクションに要素を追加
    collection.Add "Apple"
    collection.Add "Banana"
    collection.Add "Orange"
    
    ' コレクション内の各要素に対して繰り返し処理を行う
    For Each element In collection
        Debug.Print element
    Next element
End Sub

サンプルコードは、コレクションに追加された要素("Apple"、"Banana"、"Orange")を順番にデバッグウィンドウに出力します。

 

Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問