質問: VBAの配列操作について教えていただきたいです。 ある二次元配列の2行目と3行目を簡単に置き換える方法はありませんか? 例えば 1,2,3,4,5 6,7,8,9,1 9,8,7,6,5 ↓ 1,2,3,4,5 9,8,7,6,5 6,7,8,9,1 要素数は変えず、中身だけ入れ替わって欲しいです 知見をお持ちの方がいましたらよろしくお願いします
回答: VBAの配列は行単位で書き換えることは出来なくて要素1つずつループして処理するしかないと思います。 ただ、行単位で取り出すことはIndex関数でできます。 Sub test() Dim i As Long, Ar1, R Ar1 = Range("A1:E3") R = Array(1, 3, 2) For i = 1 To 3 Cells(i + 4, 1).Resize(, UBound(Ar1, 2)) = _ Application.Index(Ar1, R(i - 1)) Next End Sub