Array関数

 VBAで利用できる関数です。
 配列宣言していない(要注意)バリアント型変数に配列を格納します。

使用例

例1

コード

Sub Func_Array()

    Dim suit As Variant

    suit = Array("スペード", "ハート", "ダイヤ", "クラブ")

    MsgBox suit(2)

End Sub

出力
 インデックスは0から始まりますのでsuit(0)が「スペード」、suit(1)が「ハート」、suit(2)が「ダイヤ」、suit(3)が「クラブ」となります。
f:id:accs2014:20190124165119p:plain:left:w200

例2

コード
 例1との違いは「Dim suit(3) ~」と配列宣言をしていることです。このように配列宣言したうえで各インデックスに値を割り振るようなイメージで記述するとエラーとなります。ただし「Dim suit() ~」という動的配列宣言をした場合にはエラーにはならず例1と同様の結果になります。

Sub Func_Array()

    Dim suit(3) As Variant

    suit = Array("スペード", "ハート", "ダイヤ", "クラブ")

    MsgBox suit(2)

End Sub

出力

f:id:accs2014:20190124172459p:plain:left:w300

例3

コード
 例2と似ていますが、配列の1つの要素「suit(0)」に配列を割り当てています。
 これは成立しますが、通常の2次元配列とは異なりますので注意してください。

Sub Func_Array()

    Dim suit(10) As Variant

    suit(0) = Array("スペード", "ハート", "ダイヤ", "クラブ")

    MsgBox suit(0)(2)

End Sub

出力

f:id:accs2014:20190124172457p:plain:left:w200

書式

Array([値1,値2,…])

 全く値を指定しない(カッコ内を空にする)こともできます。このとき空の配列が生成されます。

備考

 -