Excel VBA: Array 関数の解説と使用例
Excel VBAにおけるArray
関数は、一連の値から配列を作成するための関数です。この関数を使うことで、複数の要素を持つ配列を簡単に作成することができます。
構文
Array(arg1, arg2, ..., argn)
Array
関数では、引数として配列に含める要素を指定します。引数はカンマで区切り、任意の数だけ指定することが可能です。各引数は配列の各要素として保存されます。
サンプルコード1
以下に、Array
関数の使用例を示します。
Sub CreateArray()
' Array関数で配列を作成
Dim myArray As Variant
myArray = Array("Apple", "Banana", "Cherry")
' 配列の内容を表示
Dim i As Integer
For i = LBound(myArray) To UBound(myArray)
Debug.Print myArray(i)
Next i
End Sub
このコードでは、まずArray
関数を使用して3つの要素を持つ配列を作成します。その後、For
ループとDebug.Print
ステートメントを使用して配列の各要素を出力します。
サンプルコード2
以下のサンプルコードは、複数の配列を結合して新たな配列を作成する例です。
Arrayを結合する場合は、VBAのループ構造(For…Next文やDo…Loop文など)を使用して各配列の要素を新しい配列に一つずつ追加するなどの方法をとる必要があります。以下はその一例です。
Sub CombineArrays()
Dim array1 As Variant
Dim array2 As Variant
Dim combinedArray() As Variant
Dim i As Long, j As Long
' 配列を定義します
array1 = Array("Apple", "Banana", "Cherry")
array2 = Array("Dog", "Elephant", "Frog")
' 合成配列のサイズを設定します
ReDim combinedArray(LBound(array1) To UBound(array1) + UBound(array2) + 1)
' array1の要素をcombinedArrayにコピーします
For i = LBound(array1) To UBound(array1)
combinedArray(i) = array1(i)
Next i
' array2の要素をcombinedArrayにコピーします
For j = LBound(array2) To UBound(array2)
combinedArray(i + j) = array2(j)
Next j
' 結果を表示します
For i = LBound(combinedArray) To UBound(combinedArray)
Debug.Print combinedArray(i)
Next i
End Sub
このスクリプトは、2つの配列を結合し、結果を イミディエイトウィンドウ に表示します。配列は0ベースでインデックス付けされていることに注意してください。
注意点
Array
関数で作成された配列は、0から始まる基底(0ベース)の配列です。つまり、最初の要素はインデックス0で参照されます。配列の要素にアクセスする際にはこの点に注意が必要です。