HOME > 即効テクニック > Excel VBA > 関数関連のテクニック > 配列を格納したバリアント型の変数を作成する(Array関数)

即効テクニック

関数関連のテクニック

配列を格納したバリアント型の変数を作成する(Array関数)

(Excel 2013/2016)
Array関数は、配列の格納されたバリアント型の値を返します。つまり、Array関数で配列の要素に値を設定できるのは、バリアント型で宣言した変数に対してのみです。配列変数の各要素に値を設定することはできません。


  構文 Array(ArgList)

 設定項目        内容
  ArgList     値のリストをカンマで区切って指定 [省略不可]


次のサンプルを見てください。

●サンプル●
Sub ArraySamp1()
    '---(1)バリアント型で宣言する
    Dim myArray As Variant
    Dim i As Integer
    Dim myMsg As String

    myArray = Array("〇", "T", "U", "V", "W", "X", "Y", "Z", "[", "\")
    '---(2)Array関数で、バリアント型の変数に10個の要素の値を格納
    For i = 0 To UBound(myArray)
       myMsg = myMsg & i & "番目の要素 : " & myArray(i) & vbCr
    Next i
    MsgBox myMsg

End Sub

●解説●
Array関数で配列の要素に値を設定したい変数は、(1)のようにバリアント型で宣言してください。値を設定する際には、(2)のステートメントのように記述します。引数で値を指定した順番が、配列の要素のインデックス値と同じになります。

●ポイント●
配列の格納されたバリアント型の変数は、Rangeオブジェクトの持つ特徴と一致します。従って、配列の要素数が多すぎるなどの理由で、Array関数を用いて要素に値を設定することが難しい時には、セルに値を入力し、そのセル範囲をバリアント型の変数に代入する、という方法をとるとよいでしょう。