|
いつもお世話になります。
あるプログラムを作成中ですが、壁にぶつかっていますのでご教示願います。
たとえば、a1からa5に
aaa
bbb
ccc
ddd
eee
というリストがあり、このセルの値をひとつひとつループさせ配列変数(動的)に入れ、その後、配列変数の値を隣の列のセルに転写(貼り付け)したいのです。
転写する際、ひとつひとつの要素をループで戻す方法がありますが、これだとデータ量が多い場合、処理速度が遅くなるため、ループさせずに一気に転写したいのです。
そこで考えたのが、
Sub test()
Dim myList() As String
For i = 1 To 5
ReDim Preserve myList(i - 1)
myList(i - 1) = Cells(i, 1)
Next
Range(Cells(1, 2), Cells(5, 2)) = myList
End Sub
上記配列変数の中身はaaa〜eeeが格納されているのですが、上記コードで転写させると、結果は
aaa
aaa
aaa
aaa
aaa
となってしまいます。aaa〜eeeの値をループ処理させずに転写させるにはどうしたらいいのでしょうか。よろしくお願いします。
|
|