配列リテラルの場合は番号が1からになる模様。ふしぎ!
2次元配列と配列の入れ子(ジャグ配列)は書き方が違うので注意。
Option Base 0 Sub 配列テスト() Dim myArray, ar, a Dim i As Integer, j As Integer '1次元配列 ReDim myArray(3) myArray(0) = "おうた" myArray(1) = "うんどう" myArray(2) = "ひるね" myArray(3) = "おやつ" For i = LBound(myArray) To UBound(myArray) Debug.Print myArray(i), "(" & i & ")" Next myArray = Array("おうた", "うんどう", "ひるね", "おやつ") For Each ar In myArray Debug.Print ar Next '2次元配列 myArray = [{"経済学","社会学","国際文化"; "心理学","哲学","文学"}] '配列リテラル For i = LBound(myArray, 1) To UBound(myArray, 1) For j = LBound(myArray, 2) To UBound(myArray, 2) Debug.Print myArray(i, j), "(" & i & "," & j & ")" Next Next myArray = Range("A1:B10") For Each ar In myArray Debug.Print ar Next '配列の入れ子 myArray = Array(Array("国語", "算数"), Array("理科", "社会", "英語"), Array("体育", "音楽")) For i = LBound(myArray, 1) To UBound(myArray, 1) For j = LBound(myArray(i)) To UBound(myArray(i)) Debug.Print myArray(i)(j), "(" & i & ")(" & j & ")" Next Next For Each ar In myArray For Each a In ar Debug.Print a Next Next Erase myArray '初期化 End Sub
値を確認するだけならFor Each。短い!
場所の確認が必要なら配列に従って順序よく丁寧に調べる。
以上。