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