きっとArrayAppend関数などの項目で見たのでしょう。 sourceArray1(1 to 5) = [1,2,3,4,5] とまるで出来るみたいに書いてありますが、 実際はコンパイルエラーになります。 式だとコロン区切りでいけるみたいですが、スクリプトではないようですね。 文字列を用意して、配列にして、2次元配列にセットしないといけないようです。 勉強ついでに、スクリプトを書いてしまったので参考にどうぞ。 もっと良い方法があれば誰か教えてください。 インデントは全角空白でしているので、半角空白に変換してください。 ---開始--- Dim Array(39, 2) As String '40 * 3の2次元配列 Dim x As Integer '1次元目の添え字 Dim y As Integer '2次元目の添え字 Dim constSplit As String constSplit = "A,B,C,あ,い,う,a,b,c,ア,イ,ウ,……" 'セットする配列の値を、「,」区切りでセット Dim setValue As Variant setValue = Split(constSplit, ",") ''「,」区切りで分割して、Variant型にセット Dim setCount As Integer 'setValueの添え字 Dim setMaxSize As Integer 'setValueの大きさ setCount = 0 setMaxSize = Ubound(setValue) 'セットされる順番 'Array[0][0] → Array[0][1] → Array[0][2] → Array[1][0] → Array[1][1] → … →Array[39][2] For x = 0 To 39 '1次元目ループ For y = 0 To 2 '2次元目ループ Array(x, y) = setValue(setCount) '2次元配列にセット setCount = setCount + 1 '添え字をカウントアップ If setCount > setMaxSize Then '添え字が範囲外のときは、ループを抜ける Exit For End If Next If setCount > setMaxSize Then '添え字が範囲外のときは、ループを抜ける Exit For End If Next ---終了--- メイントピックの動的配列とは話が少し違うので 新しくトピックを立てたほうがいいと思いますよ。