Excel VBAでは、配列とループを組み合わせることで、データ集合を効率的に処理することができます。この記事では、Forステートメントを使用して配列内のデータにアクセスし、操作する基本的な方法を説明します。
配列とは
配列は、同一のデータタイプの複数の項目を一つの変数名で格納するためのデータ構造です。Excel VBAでは、配列を使用することで、リストやテーブルのデータを効率的に扱うことが可能です。【VBA】配列(array)の1次元配列・2次元配列
配列の初期化
配列を使用する前に、そのサイズを指定するか、または初期値を持つ配列を宣言する必要があります。
Dim numbers(1 To 5) As Integer ' 5つの整数を格納できる配列
Dim fruits() As String = {"Apple", "Banana", "Cherry"} ' 初期値を持つ配列
Forステートメントでの配列の処理
配列の各要素にアクセスするためには、Forステートメントを使用して配列をループすることが一般的です。
1. 添字を使う方法
Dim i As Integer
For i = LBound(numbers) To UBound(numbers)
Debug.Print numbers(i)
Next i
この例では、LBound関数とUBound関数を使用して、配列numbersの下限と上限を取得し、その範囲でループを行っています。【VBA】For文:(超基本)サンプルコードと解説#1
For Eachを使う方法
Dim fruit As String
For Each fruit In fruits
Debug.Print fruit
Next fruit
For Eachループは配列やコレクションの各要素に対して操作を行う場合に便利です。この例では、配列fruitsの各要素を直接参照しています。【VBA】For文:(超基本)サンプルコードと解説#2
配列操作の応用編
【配列の要素の更新】
For i = 1 To UBound(numbers)
numbers(i) = i * 10
Next i
このコードは、配列numbersの各要素に10を乗じた値を代入しています。
条件に基づく処理
For i = 1 To UBound(fruits)
If fruits(i) = "Banana" Then
Debug.Print "Banana found at index: " & i
End If
Next i
このサンプルコードは、配列fruits内で"Banana"を検索し、その位置を表示します。
まとめ
Forステートメントを使用して配列を処理する方法は、Excel VBAプログラミングにおいて基本的かつ強力な技術です。配列を効率的に操作することで、データの集計、分析、または変換などのタスクを自動化し、プロセスの効率を大幅に向上させることができます。【VBA】For文:配列を用いて項目名に合わせたデータ転記(実務レベル)