サイトについて      連絡先   検索

VBA Array 関数

はじめに

Excel VBA マクロの Array 関数を紹介します。

Array 関数は、指定した要素で作成された配列を返します。

複数の値を一度に配列として作成したいときに使用します。

  • 目次
    • 構文
    • 解説
    • 使用例

構文

Array()
Array(, …)
を含んだ配列を作成します。

引数「値」文字列、数値、日付など何でも指定できます。
戻り値の型Variant 型の動的配列

解説

戻り値を受け取る変数は Variant 型または Variant 型の動的配列である必要があります。

作成される配列は動的配列で、最初のインデックスは0からスタートします。

引数を指定しないときは、要素数0の配列が返ります。

引数「値」の型は、作成される配列が Variant 型なので、文字列や数値など異なる型を指定できます。

引数「値」に Array 関数を指定するとジャグ配列を作成できます。

使用例


Dim v As Variant
v = Array(1, 2, 3)
Debug.Print(v(0)) ' 1
Debug.Print(v(1)) ' 2
Debug.Print(v(2)) ' 3

Debug.Print(LBound(v)) ' 0
Debug.Print(UBound(v)) ' 2

Dim var() As Variant
var = Array("あ", 2)
Debug.Print(var(0)) ' "あ"
Debug.Print(var(1)) ' 2

Debug.Print(LBound(var)) ' 0
Debug.Print(UBound(var)) ' 1

Dim a(2) As Variant
a = Array(1, 2) ' エラー、静的配列は受け取れない

Dim i() As Integer
i = Array(1, 2) ' エラー、Variant 型でないと受け取れない

Array 関数を使うと配列の初期値を設定するのが簡単になります。次の 2 つのコードは同じ結果になります。


Dim v As Variant
v = Array(1, 2, 3)

Dim a() As Variant
ReDim Preserve a(2)
a(0) = 1
a(1) = 2
a(2) = 3

ジャグ配列を作成する。


Dim v As Variant
v = Array(Array(1, 11), Array(2, 22, 222))
Debug.Print(v(0)(0)) ' 1
Debug.Print(v(0)(1)) ' 11
Debug.Print(v(1)(0)) ' 2
Debug.Print(v(1)(1)) ' 22
Debug.Print(v(1)(2)) ' 222
  
Debug.Print(LBound(v)) ' 0
Debug.Print(UBound(v)) ' 1

Debug.Print(LBound(v(0))) ' 0
Debug.Print(UBound(v(0))) ' 1

Debug.Print(LBound(v(1))) ' 0
Debug.Print(UBound(v(1))) ' 2
  • 目次
    • 構文
    • 解説
    • 使用例