|
kawataです、よろしくお願いします。
(Windows2000/Excel2000)
セルのデータを加工するのに、これまではセルデータを直に
読んで書いてとやっておりましたが、ここにきて、ようやく
配列に手を出しはじめました(^^;。
望むように動作すれば圧倒的な速度差に感激しております。
で、いろいろ勉強のためにテストしているのですが、
Sub test()
Dim aaa() As Variant
With Sheets("sheet1").Range("a1:a20")
aaa = .Value
For i = 1 To UBound(aaa)
aaa(i, 1) = "済" & aaa(i, 1)
Next
.Value = aaa
End With
End Sub
「test」は問題なく動作します、これを・・・・・
Sub test2()
Dim aaa() As Variant
Dim bbb() As Variant
With Sheets("sheet1").Range("a1:a20")
aaa = .Value
ReDim bbb(UBound(aaa), 1)
For i = 1 To UBound(aaa)
bbb(i, 1) = "済" & aaa(i, 1)
' Debug.Print bbb(i, 1)
Next
.Value = bbb
End With
End Sub
のようにすると、Range("a1:a20")は全部消えてしまいます。
根本的なところで配列の理解ができていないように思います(^^;。
とんちんかんな質問をしているのかどうかも自分で判断できません。
ぜひ、よろしくお願いします。
※Debug.Print bbb(i, 1)で中身は確認できているのですけども・・。
|
|