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関数を用いて要素
に値を設定することが難しい時には、セルに値を入力し、そのセル範囲をバリアン
ト型の変数に代入する、という方法をとるとよいでしょう。
|